不错的java题
1: int w=0;
outer: for(int i=0;i<5;i++){
for(int j=0;j<100;j++){
if(i==3)
break outer;
w++;
}
}
System.out.println("w="+w);
输出结果:???
谢谢大家了
搜索更多相关的解决方案:
java
----------------解决方案--------------------------------------------------------
300?
----------------解决方案--------------------------------------------------------
为什么不是400呢 ?>
----------------解决方案--------------------------------------------------------
当i=3的时候,在内循环里:j=0时,就直接运行了break outer语句了,并没有w自加。
----------------解决方案--------------------------------------------------------
道理很简单,你用的是outer;所以当你break的时候直接就跳出了这两个for循环;也就是说for循环已经不在执行了,不信的话你可以把i=5改成i=100;它的结果仍然是300;
但你如果去掉outer;那么它的结果就是400,因为break只调出了内循环,i=4的循环仍然执行
----------------解决方案--------------------------------------------------------
不过如果换成continue的话结果就是400了
----------------解决方案--------------------------------------------------------
continue是直接进入下一次循环。。。。那当然是四百了哇。。。。。
----------------解决方案--------------------------------------------------------
xiexie
dajia
----------------解决方案--------------------------------------------------------