Java break 和 continue 语句

在有些情况下,我们可能需要对循环进行特殊处理,例如:当满足某个条件时,跳出当前循环或者跳过循环本次执行,但是循环语句继续执行后续循环。

break 语句

break 语句的作用是终止所在的 switch 语句或循环语句的运行,循环语句中 break 语句的使用格式可分为两种:

方式一:终止所在循环语句的运行,只能终止 break 语句所在的循环

break;

方式二:如果存在多层嵌套循环,则终止<标签>标记的外层循环的运行

break <标签>;

示例:演示“break”语句的使用,跳出当前循环。代码如下:

public class Demo {

    public static void main(String[] args) {
        for(int i = 0; i < 10; i++) {
            for(int j = 0; j < 10; j++) {
                if(j > i) {
                    // 跳出内层循环
                    break;
                }
                System.out.print(j + "\t");
            }
            System.out.println();
        }
    }

}

运行示例,输出结果如下:

0	
0	1	
0	1	2	
0	1	2	3	
0	1	2	3	4	
0	1	2	3	4	5	
0	1	2	3	4	5	6	
0	1	2	3	4	5	6	7	
0	1	2	3	4	5	6	7	8	
0	1	2	3	4	5	6	7	8	9	

示例:演示 “break <label>”语句跳出多层循环,代码如下:

public class Demo {

    public static void main(String[] args) {
        myLabel:
        for(int i = 0; i < 10; i++) {
            for(int j = 0; j < 10; j++) {
                if(i > 4) {
                    // 跳出到外部循环
                    break myLabel;
                }
                if(j > i) {
                    // 跳出内层循环
                    break;
                }
                System.out.print(j + "\t");
            }
            System.out.println();
        }
    }

}

运行示例,输出结果如下:

0	
0	1	
0	1	2	
0	1	2	3	
0	1	2	3	4	

continue 语句

continue 语句的作用是结束所在循环语句的本次运行,即跳过其后的循环体语句,开始下一次循环。语法如下:

方式一:跳过所在循环的本次运行

continue;

方式二:在多层嵌套循环中,跳过标签标记的外层循环的本次运行

continue <标签>;

示例:使用 continue 打印 0 ~ 10 的偶数,代码如下:

public class Demo {

    public static void main(String[] args) {
        for(int i = 0; i < 10; i ++) {
            if(i % 2 == 0) {
                continue;
            }
            System.out.println(i);
        }
    }

}

运行示例,输出结果如下:

1
3
5
7
9

示例:检索每个字符串中,字符“o”首次出现的索引,代码如下:

public class Demo {

    public static void main(String[] args) {
        String[] strs = {
                "hello",
                "administrator",
                "world"
        };
        myLabel:
        for(String str : strs) {
            for(int i = 0; i < str.length(); i++) {
                char c = str.charAt(i);
                if(c == 'o') {
                    System.out.println(str + "  ==>  " + i);
                    continue myLabel;
                }
            }
        }
    }

}

运行示例,输出结果如下:

hello  ==>  4
administrator  ==>  11
world  ==>  1

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号