蹦掉你的机器。这代码,太猛了。!

来源:百度知道 编辑:UC知道 时间:2024/06/28 06:07:52
public class Examl {
public static final void main(String args[]) {
int i = 0, j = 5;
tp: for (;;) {//tp是什么意思?郁闷。
i++;
for (;;)
if (i > j)
{
break tp;
}
}
System.out.println("i=" + i + ",j=" + j);
}
}
这短代码,会直接卡掉你的机器。这是为什么??????
晕了。请高人详解。

tp表示标签名,这种定义循环的方式多用于跳出多重循环。
这个程序的for循环是个死循环,程序不停的运转,不停的输出,造成机器的强大负载,所以你的机器就会卡掉了

死循环.

这里的tp应该是类似于c语言的goto语句吧.不过tp在这里面不起作用.
for (;;)if (i > j)break tp;在这里无限循环

里面的循环根本都是无限循环,不可能结束的。卡掉机器不至于,关掉命令提示符窗口就完事儿了。不可能输入任何内容的。
最简单的无限循环是这样的:
public static void main(String[] args){
for(;;);
}

tp可以理解为这个for循环的名称,break tp;也就是终止外层的这个for循环tp,不过貌似永远终结不了,成死循环了

不就个死循环嘛..这也猛???

if (i > j)
{
break tp;
}
只有i大于j才能退出死循环,你把i改成10就不死了。
这种写法就是循环嵌套时可以指定跳到第几层循环那里去,
public static final void main(String args[]) {
int i = 0, j = 5;
tp:
for (;;) {//tp是什么意思?郁闷。
i++;
tr:
for (;;) {
if (i > j) {
break tp;
} else {
break tr;
}
}
}
System.out.println(&qu