我目前正在我的在线课程中学习java,我正在学习循环(特别是continue和break语句)。给我举的例子是:
int j = 0
while (true){
System.out.println();
j++;
System.out.print(j);
if (j%2 > 0) continue
System.out.print(" is divisible by 2");
if (j >= 10) break;
}
我不明白为什么是(j%2>0)而不是(j%2==0),因为如果“j”是5,而你做5%2呢。你得到的号码不是1吗?还是我遗漏了什么?有人能给我解释一下吗(对不起,我不是我的问题有点混乱。我以前从未使用过这个网站,而且我还很年轻)
4条答案
按热度按时间vltsax251#
continue的意思是“转到循环的顶部,跳过循环的其余代码”,而不是“继续代码”。因此,由于5%2是1,并且1>0,因此将执行continue,直接转到循环的顶部并跳过正文的其余部分。
为什么他们用>0代替!=0? 没有任何技术上的原因,只是风格上的不同。我个人认为后者在我的脑海中更清晰。但两种方法都有效。
i86rm4rw2#
让我解释给你听。请参阅每行旁边的注解。
bfrts1fy3#
x%2表示x除以2时的余数。所以如果x/2的余数大于0,就意味着x是奇数。当x%2==0时,则x为正数
l2osamch4#