java中break,continue存在标签时的用法

break和continue是大家比较熟悉的流程控制语句,但是有很多人忽略它们存在标签时的用法。

1.break

break配合标签属于goto语句的用法,它可以用来跳出循环语句和switch语句,一般用来跳出多层嵌套的循环语句。但是要注意它不同于c中的goto,Java中的标签一定要写在直接或间接包含带有此标签的break语句的代码块上方,用来跳出整个代码块,这句话有三个要注意的地方,

        一是标签要紧挨在代码块的上方,来标示整块代码

        二是代码块中要有带有此标签的break,

        三是标签标识的代码块会被越过执行。

错误示例:

for (int i = 0; i < 5; i++) {
    break label;
}
label:
//这样写会报错
label:
System.out.println("这样写会报错");
for (int i = 0; i < 5; i++) {
    break label;
}

正确示例:

label:   //标签写在代码块上方
for (int i = 0; i < 5; i++) {
    break label;
}
//跳出代码块之后会来到这儿

2.continue

与break唯一不同的是,continue会跳过被标记的代码块一次,进入下一次循环(for循环中的i<5 和i++不会被跳过)。

label:
for (int i = 0; i < 5; i++) {
    System.out.println(i);
    continue label;
}


版权声明:本文为m0_56976102原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。