1、break:
- break:只能够用在switch或者循环语句中,不能够用于其他语句中。
- 在switch语句中是结束switch的作用;
- 在while、do-while、for循环中,是结束当前所在的循环语句。当多个层循环嵌套时,仅仅能够结束break所在的循环语句,外层循环不能够结束。
例子1:
for(int i = 0; i < 5; ++i) { System.out.println("outter loop" + i); for(int j = 0; j < 4; ++j) { if(j == 2) break; System.out.println("inner loop" + j); } }
输出为:
outter loop0
inner loop0
inner loop1
outter loop1
inner loop0
inner loop1
outter loop2
inner loop0
inner loop1
outter loop3
inner loop0
inner loop1
outter loop4
inner loop0
inner loop1
问题:如何使内层循环的break结束外层循环?
思路:在循环中加标签标记,break指定标签就行了。
outter:for(int i = 0; i < 5; ++i)
{
System.out.println("outter loop" + i);
inner:for(int j = 0; j < 4; ++j)
{
if(j == 2)
break outter;
System.out.println("inner loop" + j);
}
}
输出为:
outter loop0
inner loop0
inner loop1
2、continue
continue只能够用于循环语句中。
作用:跳过本次循环体中continue后边的内容,执行下一次循环。
同样,在continue后边也可以使用标记,代码如下:
outter:for(int i = 0; i < 5; ++i) { System.out.println("outter loop" + i); inner:for(int j = 0; j < 4; ++j) { System.out.println("inner loop" + j); continue outter;//将continue作用于outter标记处 } }
输出结果为:
outter loop0
inner loop0
outter loop1
inner loop0
outter loop2
inner loop0
outter loop3
inner loop0
outter loop4
inner loop0