Tru*_*yen 3 java for-loop class object
这个问题出现在我用 Java 编写的实习职位面试问题之一中。请注意,布尔函数isSame实际上将 2 个参数声明为Integerclass - not int,所以我认为a和b是对象,对吗?
public class ForLoop{
public static boolean isSame(Integer a, Integer b) {
return a == b;
}
public static void main(String []args){
int i = 0;
for (int j=0; j<500; ++j) {
if (isSame(i,j)) {
System.out.println("Same i = "+i);
System.out.println("Same j = "+j);
++i;
continue;
} else {
System.out.println("Different i = "+i);
System.out.println("Different j = "+j);
++i;
break;
}
}
System.out.println("Final i = " + i);
}
}
Run Code Online (Sandbox Code Playgroud)
我的第一个想法是for循环将在第一次运行时终止并显示结果Final i = 1,但令我惊讶的是最终输出是i = 129. 当 i & j = 128 时循环终止。
Same i = 126
Same j = 126
Same i = 127
Same j = 127
Different i = 128
Different j = 128
Final i = 129
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |