class MultiFor{
public static void main (String[] args){
for(int x=0; x<4; x++){
for(int y = 4;y>2;y--){
System.out.println(x+" "+y);
}
if(x == 1){
x++;
}
}
}
}
为什么输出的结果是
0 4
0 3
1 4
1 3
3 4
3 3 过程是怎样计算的,求解析,感谢了 !!!
class MultiFor{
public static void main (String[] args){
for(int x=0; x<4; x++){
for(int y = 4;y>2;y--){
System.out.println(x+" "+y);
}
if(x == 1){
x++;
}
}
}
}
为什么输出的结果是
0 4
0 3
1 4
1 3
3 4
3 3 过程是怎样计算的,求解析,感谢了 !!!
for(int x=0; x<4; x++){
for(int y = 4;y>2;y--){
System.out.println(x+" "+y);
}
if(x == 1){
x++;
}
}
}
看你的主体部分,x从0开始,进入y的循环,for循环在没有结束判断条件时是一直进行的,除非条件失效,此时,y从4开始,即(0 4),(0 3),到y=2时不再满足循环条件,跳出,进入if判断,此时x=0!=1,
结束第一次循环,此时打印的结果为0 4;0 3,同理,进入下一次循环,同样y的循环结束后,输出1 4;1 3,进入if判断,此时x==1,满足判断,进入if条件,x++,x置为2,结束判断,由于x本身位于x的for循环内,
此时结束循环,x需要自增1,所以,x的值自增为3,进入下一次循环。下次循环同理,输出,3 4;3 3.结束y,进入x判断,不满足,结束本次判断,结束循环,x置为4。此时不满足x的循环条件。跳出,此段程序结束。
(ps:码完字发现你已经知道了,当我说了废话)
i++ ,++i,
加号在前面是先出结果,如i=1,++i = 2.
加号在后面是后加在出结果,i=1,i++ = 1.跳过i++之后才会等于2
for(int x=0; x<4; x++) 中 x++是在 for 一次 over之后执行的,所以结果你自己推敲一下
8 回答6.4k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.6k 阅读✓ 已解决
亲,你可以用 eclipse ide 给 debug 一下,就能看出执行流程了。