我该如何在Java中使用for (ever){}来替代for (;;)?

5
我想在Java中使用无限循环:for (;;),如果我可以用变量'ever'替换';;',那会看起来非常有趣。
String ever = ";;";
for(ever){
...
}

在Java中,这样的事情是否可能?

5
这段代码的意思是“无限循环”,表示程序会一直执行这个循环而不会停止。 - Rohit Jain
2
Nop。你的问题可能符合FAQ中“不要问什么”的几个方面...... - assylias
1
除了好玩之外,它还能给我们带来什么优势? - biziclop
1
@biziclop 的想法是自我记录的代码。这是一个古老的 C 想法,其中你有宏,因此这是可能的。 - RB.
1
你可能在使用错误的编程语言。如果你想要不可预测、不透明的文本替换(宏),你应该使用C语言。Java故意不允许这种行为,因为它被认为可能会造成危害。 - Damon
显示剩余7条评论
4个回答

9

不,这是不可能的。

你能做到的最接近的是:

final boolean ever = true;
for (;ever;) { }

1
哦,请... 这主意太糟糕了。你应该让你的代码易读,而不是像英语一样。 (虽然这个主意聪明) - Stephen C

6
当我由于对语法的恐惧而混淆我的程序时,我喜欢真正地揉进去...
for(ever;and;ever)

and为真,而ever则是任何东西...


2

关于:

while (true) {

}

我知道你要进行代码艺术,但这种方式太贵了。

有时我也会尝试这种艺术形式,把for替换成while

int counter = 4;
while (counter-->0) {
  // couter decrements from 4 to 1
}

0

不,这是语法错误!

这个单语句只适用于while/do while循环。

像这样:

 while(ever)
 { ..

 // some statement to change ever
 }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接