java中如何跳出双重for循环?

Python010

java中如何跳出双重for循环?,第1张

方法如下:

java跳出循环是使用break语句的,break默认跳出当前循环。当使用双层循环时,可通过label从内层循环跳出。

有关代码示例如下:

跳出一层:

for(int i=0i<10i++){

for(int a=0a<10a++){

break//跳出a循环,回到i循环

跳出两层:

labe:for(int i=0i<10i++){

for(int a=0a<10a++){

break labe//跳出整个循环

众所周知,在Java中,如果想跳出for循环,一般情况下有两种方法:break和continue。

break是跳出当前for循环,如下面代码所示

public class RecTest { 

 

    /**

     * @param args

     */ 

    public static void main(String[] args) { 

        for(int i=0 i< 10 i++){ 

            if(i==5){ 

                break 

            } 

            System.out.print(i+" ") 

        } 

    } 

}

输出:0 1 2 3 4

也就是说,break会跳出(终止)当前循环。continue是跳出当前循环,开始下一循环,如下所示:

public class RecTest {  

    /**

     * @param args

     */ 

    public static void main(String[] args) { 

        for (int i = 0 i < 10 i++) { 

            if (i == 5) { 

                continue 

            } 

            System.out.print(i+" ") 

        } 

    } 

}

输出:0 1 2 3 4 6 7 8 9

   以上两种方法没有办法跳出多层循环,如果需要从多层循环跳出,则需要使用标签,定义一个标签label,

然后在需要跳出的地方,用break

label就行了,代码如下:

public class RecTest {  

    /**

     * @param args

     */ 

    public static void main(String[] args) { 

 

        loop: for (int i = 0 i < 10 i++) { 

            for (int j = 0 j < 10 j++) { 

                for (int k = 0 k < 10 k++) { 

                    for (int h = 0 h < 10 h++) { 

                        if (h == 6) { 

                            break loop 

                        } 

                        System.out.print(h) 

                    } 

                } 

            } 

        } 

        System.out.println("\nI'm here!") 

    } 

}

输出:

012345

I'm here!

1、首先,这里不是循环,所以不存在跳出循环的问题。

2、代码逻辑有很多方法可以处理,如果不想抛出异常的话,最好是给一个特定值。

我给你改一下:

class Person{

private int age

private static final Integer DEFAULT_ERROR_AGE= -1//这里定义一个特定的错误值

public Person(int a){

this.setAge(a)

}

public void setAge(int a){

if(a>0&&a<150){

age = a

}else{

age = DEFAULT_ERROR_AGE

}

}

public int getAge(){

return age

}

public void print(){

//用条件表达式

System.out.println(age==DEFAULT_ERROR_AGE?"输入参数错误":"年龄:" + this.getAge())

}

}

public class Hello{

public static void main(String args[]){

new Person(300).print()

}

}