我正在修改我的SCJA考试的分钟,并且被这个问题和答案混淆了。问题是运行和编译代码的结果是什么。Java模数运算符和PreIncrement - SCJA
public class Test{
public static void main(String args[]){
int counter = 0;
for(int i=0; i< 4; ++i){
for(int k=0; k< 4; ++k){
system.out.println("Hello - "+ ++counter);
if((k % 4) == 0)
break;
}
}
}
}
因此,他们给出的答案是 “HELLO-1”,因为0%4 = 0 但我的问题是应该K不为1,因为它已经预增的?
在此先感谢!
第一次迭代时,k取0值(++ k在每次迭代结束时执行) – 2013-02-16 16:34:29