java中的break、continue、return区别

1、break:

可以用于for循环等循环体和开关语句switch case中;

用在循环中时,break是指跳出当前的循环体,如果是嵌套循环的话,只能跳出离break最近的for循环层;例如:

 public static void main(String[] args) {
        for (int i = 0; i<=5; i++) {
            if (i == 3){
                System.out.println("我是3,我要跳出循环了,后面的都不能执行了ㄟ(⊙ω⊙ㄟ)");
                break;
            }
            System.out.println(i);
        }
    }


运行结果:

0
1
2
我是3,我要跳出循环了,后面的都不能执行了ㄟ(⊙ω⊙ㄟ)


Java中,如何跳出当前的多重嵌套循环? 


在最外层循环前加一个标记如flag,然后用break flag;可以跳出多重循环。

用于开关语句switch case中:break可使程序跳出switch而执行switch以后的语句;

 
此时分两种情况: 
1、如果满足条件的case有break,则直接跳出switch语句; 
2、如果满足条件的case没有break,此时又分两种情况: 
  2.1、之后的case也都没有break,就从满足条件的那个case开始执行,直到执行完default后结束; 
  2.2、之后的case有一个或多个break,就从满足条件的那个case开始执行,直到遇到break后结束; 


例子1:

public static void main(String[] args) {
            int flag = 3;
            switch (flag) {
                case 1:
                    System.out.println("1");
                    break;
                case 2:
                    System.out.println("2");
                    break;
                case 3:
                    System.out.println("flag为3,此时case为3且有break,结束switch");
                    break;
                case 4:
                    System.out.println("4");
                    break;
                case 5:
                    System.out.println("5");
                    break;
                default:
                    System.out.println("default");
            }
        }


运行结果:

flag为3,此时case为3且有break,结束switch

例子2.1:

   

public static void main(String[] args) {
            int flag = 3;
            switch (flag) {
                case 1:
                    System.out.println("1");
                    break;
                case 2:
                    System.out.println("2");
                    break;
                case 3:
                    System.out.println("3");
                    //break;
                case 4:
                    System.out.println("4");
                    //break;
                case 5:
                    System.out.println("5");
                    //break;
                default:
                    System.out.println("等于3的case,没有break,且之后的case也都没有break,则一直执行到default才结束");
            }
        }


输出结果:

3
4
5
等于3的case,没有break,且之后的case也都没有break,则一直执行到default才结束


例子2.2:

   

public static void main(String[] args) {
            int flag = 3;
            switch (flag) {
                case 1:
                    System.out.println("1");
                    break;
                case 2:
                    System.out.println("2");
                    break;
                case 3:
                    System.out.println("3");
                    //break;
                case 4:
                    System.out.println("4");
                    //break;
                case 5:
                    System.out.println("等于3的case,没有break,但我有break,则执行到我这里就结束");
                    break;
                default:
                    System.out.println("default");
            }
        }


运行结果:

3
4
等于3的case,没有break,但我有break,则执行到我这里就结束


2、continue :

当只有一层循环时,结束当前循环的本次循环,当有循环嵌套时,结束本层循环的本次循环;

   

 public static void main(String[] args) {
        for (int i = 0; i<=5; i++) {
            if (i == 3){
                System.out.println("我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)");
                continue;
            }
            System.out.println(i);
        }
    }


运行结果:

0
1
2
我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)
4
5


3、return:

跳出当前方法; 
如果方法返回值是void,则直接用return; 
如果方法返回值是String等类型,则需要retrun “”; 

public static void main(String[] args) {
        for (int i = 0; i<=5; i++) {
            if (i == 3){
                System.out.println("我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)");
                return;
            }
            System.out.println(i);
        }
    }


运行结果:

0
1
2
我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/83658472