java中的break、continue、return区别

来源:互联网 发布:oa源码 java 编辑:程序博客网 时间:2024/05/21 18:44

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);        }    }

运行结果:

012我是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,此时case3且有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才结束");            }        }

输出结果:

345等于3case,没有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");            }        }

运行结果:

34等于3case,没有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);        }    }

运行结果:

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

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);        }    }

运行结果:

012我是3,因为continue,只是我输出不了,后面的仍然能执行ㄟ(⊙ω⊙ㄟ)
0 0
原创粉丝点击