public class Demo {
public static void main(String[] args) {
int i = 0,j = 5;
tp:for(;;){
i++;
for(;;){
if(i>j++)
break tp;
}
}
System.out.println("i="+i+",j="+j);
}
第 5 行的 tp:for(;;) 其实是两部分:tp: 是个 label。 后面那个 for(;;) 就是普通的 for 语句,只不过括号中三个控制条件部分都是空的,也就是这个 for 循环是个死循环。 另外,第 7 行的 for 语句同样是死循环。
第 9 行的 break tp; 及前面配套的 tp: ,这是 Java 的 labeled break 语句,主要用于跳出多层循环体。
具体用法是这样的:
-
label 需要放在你想要跳出的循环语句的前面,后跟一个冒号。
这个例子中 tp 就是 label,它标记在了第 5 行 for 语句的前面。
-
然后在代码中需要跳出循环的地方写上 break label名;,执行到这里时会跳出前面被标记的循环。
注意:虽然 label 被写在在第 5 行 for 语句前,但第 9 行 break 语句跳出后并不是回到 label 这里执行第 5 行这个 for 语句,而是会跳过这个 for 语句(也就是继续执行第 12 行之后的代码)
这代码中的两层 for 循环都是死循环,如果没有 break 跳出就真的成“死循环”了
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/114843.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...