java 标号 break 自循环

Python026

java 标号 break 自循环,第1张

这种中断循环的方式有四种,分别是break,continue,break

+

标号,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

}