黑马程序员技术交流社区
标题:
书上看到的关于break和continue的一点小知识
[打印本页]
作者:
宋浩
时间:
2012-6-15 12:52
标题:
书上看到的关于break和continue的一点小知识
代码如下:
package Test;
public class LabeledFor {
public static void main(String args[]){
int i=0;
outer://设置外部标签
for(;true;){
inner://设置内部标签
for(;i<10;i++){
System.out.println("i="+i);
if(i==2){
System.out.println("continue");
continue;
}
if(i==3){
System.out.println("break");
i++;
break;
}
if(i==7){
System.out.println("continue outer");
i++;
continue outer;
}
if(i==8){
System.out.println("break outer");
break outer;
}
for(int k=0;k<5;k++){
if(k==3){
System.out.println("contnue inner");
continue inner;
}
}
}
}
}
}
复制代码
运行结果如下:
i=0
contnue inner
i=1
contnue inner
i=2
continue
i=3
break
i=4
contnue inner
i=5
contnue inner
i=6
contnue inner
i=7
continue outer
i=8
break outer
break会中断for循环,而且在抵达for循环的末尾之前,递增表达式不会执行。由于break跳过了递增表达式,所以在i==3的情况下
直接对i执行递增运算。在i==7的情况下,continue outer语句会跳到循环顶部,而却也会跳过递增,所以这里对i直接递增。
以前一直以为break会直接跳出外层循环,现在在晓得break只会中断内部迭代,回到外部迭代,如果在没有break outer语句,就没有办法从内层循环里跳出外部循
环。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2