美文网首页
示例代码--Break和Continue的细微区别

示例代码--Break和Continue的细微区别

作者: 雨读千年 | 来源:发表于2018-03-15 22:58 被阅读0次

结论:

A 在for循环中没有switch case的情况下

1. for循环中遇到break则跳过break后面的语句并结束循环,执行循环之后的代码
2. for循环中遇到continue则跳过continue后面的循环内部的语句,并执行下一次的循环,循环之后的语句也照常执行

B 在for循环中含有switch case的情况下,

1. switch case 遇到break则跳出case,把case后面的,循环内部的语句执行完毕,然后才执行下一次的循环
2. switch case 遇到continue后面的for循环内部的语句全部不执行,直接执行下一次的循环,直到for循环结束之后,才继续执行for循环后面的语句
3. 不常用的一个点:continue可以配合跳转标签进行很复杂的跳转流程

package com.test;

public class TestBreakContinue {
    public static void main(String[] args) {
        //A 在for循环中没有switch case的情况下,
        //    for循环中遇到break则跳过break后面的语句并结束循环,执行循环之后的代码
        //    for循环中遇到continue则跳过continue后面的循环内部的语句,并执行下一次的循环,循环之后的语句也照常执行
        System.out.println("#########test_break_with_out_switch_case#########");
        test_break_with_out_switch_case();
        System.out.println("#########test_break_with_out_switch_case#########");
        System.out.println("#########test_continue_with_out_switch_case#########");
        test_continue_with_out_switch_case();
        System.out.println("#########test_continue_with_out_switch_case#########");
        //B 在for循环中含有switch case的情况下,
        //    switch case 遇到break则跳出case,把case后面的,循环内部的语句执行完毕,然后才执行下一次的循环
        //    switch case 遇到continue后面的for循环内部的语句全部不执行,直接执行下一次的循环,直到for循环结束之后,才继续执行for循环后面的语句
        //    不常用的一个点:continue可以配合跳转标签进行很复杂的跳转流程
        System.out.println("#########test_continue_with_switch_case#########");
        test_continue_with_switch_case(3);
        System.out.println("#########test_continue_with_switch_case#########");
        System.out.println("#########test_break_with_switch_case#########");
        test_break_with_switch_case(3);
        System.out.println("#########test_break_with_switch_case#########");
    }

    public static void test_break_with_out_switch_case() {
        for (int i = 1; i < 10; i++) {
            if (i == 5)
                break;
            System.out.println("i = " + i);
        }
        System.out.println("end");
    }

    public static void test_continue_with_out_switch_case() {
        for (int i = 1; i < 10; i++) {
            if (i == 5)
                continue;
            System.out.println("i = " + i);
        }
        System.out.println("end");
    }

    public static void test_continue_with_switch_case(int max) {
        for (int i = 1; i < max; i++) {
            System.out.println("----------------------");
            switch (i) {
                case 1:
                    System.out.println(1);
                    continue;
                case 2:
                    System.out.println(2);
                    continue;
                case 3:
                    System.out.println(3);
                    continue;
                default:
                    System.out.println("default!");
            }
            System.out.println("i = " + i);
        }
        System.out.println("end");
    }
    public static void test_break_with_switch_case(int max) {
        for (int i = 1; i < max; i++) {
            System.out.println("----------------------");
            switch (i) {
                case 1:
                    System.out.println(1);
                    break;
                case 2:
                    System.out.println(2);
                    break;
                case 3:
                    System.out.println(3);
                    break;
                default:
                    System.out.println("default!");
            }
            System.out.println("i = " + i);
        }
        System.out.println("end");
    }
}

相关文章

网友评论

      本文标题:示例代码--Break和Continue的细微区别

      本文链接:https://www.haomeiwen.com/subject/wcvkqftx.html