+
标号,continue
+
标号。
break:是跳出当前的循环继续执行循环体下面的语句。
break
+
标号:是跳出当前循环并跳出标号所指的循环。
continue:跳出本次循环,跳至循环体的末尾,继续执行该循环体。
continue
+
标号:跳出本次循环指向标号所指的位置。
如果用条件来判断是否中断循环可将语句放到if语句里。如if(){
break
标号;}
通过这四种方式总能找到适合的解决办法。
java的标签比较奇怪。是不可以这样定义标签的
outer:for(int a=0a<5a++){
for(int c=0c<=ac++){
System.out.println("xxx")
}
continue outer
}
continue或者是break是要从for的内部跳出for的外部才可以。
修改一下答案:public static void main(String[] _s) {
int x = 0
int y = 0
loopout:while (x<100) {
y=0
while(y<100){
if(y==10){
break loopout
}
y++
}
x++
}
System.out.println(x+" "+y)
}
这种带标号的break,意思是跳出标号的那一层循环。这里就是直接跳出loopout标号那一层(外层),所以上面这段结果显示是0 10
public static void main(String[] _s) {
int x = 0
int y = 0
while (x<100) {
y=0
while(y<100){
if(y==10){
break
}
y++
}
x++
}
System.out.println(x+" "+y)
}
而如果是普通的break,这种就是跳出本层(内层)循环,最终外层正常执行完,结果是100 10
这么说楼主应该明了了吧
//==============================================
break是跳出本层循环。
int x = 0
while(x<100){//这里本来是循环到x=99才完
if(x==50){
break//这里是跳出while循环,跳出时候x为50
}
x++
}
如果是外边还有一层while循环,那么这个break只跳出while(x<100)这一层。外层的不归它来管。
for循环一个道理
另外switch中如果没有break,是将“从所选到的入口顺序执行下去”,那不是你要的效果,所以break是不能忘记的。
int i=1
int x=0
switch(i)
{
case 1:
x=10
//break//这里这个break如果没有的话,将顺序下去到x=20之后才跳出。
case 2:
x=20
break
default:
break
}