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版权协议,转载请附上原文出处链接和本声明。