int i = 2;
i += i-=i*i;
System.out.println(i);这个结果为什么是0而不是-4; do
{
i--;
System.out.println(i);
continue;
}
while(i>0);这个里面的continue后面加上语句就报错这是为什么?我用debug跟这个程序他好像不会执行到continue这一句
i += i-=i*i;
System.out.println(i);这个结果为什么是0而不是-4; do
{
i--;
System.out.println(i);
continue;
}
while(i>0);这个里面的continue后面加上语句就报错这是为什么?我用debug跟这个程序他好像不会执行到continue这一句
第二个:continue结束本次循环,本次循环都结束了,后面的语句当然就不在执行了,加了没什么用。
do
{
i--;
System.out.println(i);
continue;
这里的语句在循环中,不在执行。
}
从右向左,
i+= i-=4;
i+= 0;
i=0;2.continue下面的语句永远不会被执行到,所以报错
continue则停止执行当前的反复,然后退回循环起始和,开始新的反复。continue 用于跳过循环体中的一部分语句,也就是不执行这部分语句
并且你的小学数学啊~~
i-=4---->i=i-4即i=2-4即i=-2
然后执行
i+=-2;
i就变成0了。
计算机室从前往后算,但是赋值是从后往前的
i*i=4,i=i-4=-2,i=i+(-2)=0
对于第二个问题,continue跳出当前循环的操作 ,继续执行这个循环的下个操作,后面语句都不会执行,所以continue后面的代码就是unreachable code,以后遇到报错要看看是什么类型的错误,这才是好的习惯
int k = i + (-2);
i=k;//此时i确实等于2,但是i是变量啊,所以k又把值传给了i;i就等于0了。