Java while(true)测试的条件是什么?什么时候是真是假?
我不明白为什么有人会使用Java while(true)测试的条件是什么?什么时候是真是假?,java,loops,while-loop,Java,Loops,While Loop,我不明白为什么有人会使用 while(true) { //do something } 而不是 boolean condition = true; while(condition == true) { //do something } 后者非常容易理解,而前者则不然 那么,while(true)检查什么条件?while(true)何时为真,何时为假 while(true)何时为真,何时为假 这永远是真的,从来都不是假的 有些人使用while(true)循环,然后在某个条件为tru
while(true) {
//do something
}
而不是
boolean condition = true;
while(condition == true) {
//do something
}
后者非常容易理解,而前者则不然
那么,while(true)检查什么条件?while(true)何时为真,何时为假
while(true)何时为真,何时为假
这永远是真的,从来都不是假的
有些人使用
while(true)
循环,然后在某个条件为true时使用break
退出循环,但这通常是非常草率的做法,不推荐使用。如果不使用break
、return
、System.exit()
,或其他类似机制,它将永远保持循环。而(true)始终为true。循环语句一直在执行。如果必须中断循环,我们必须使用break语句。条件==true
也将返回一个布尔值,该布尔值为“true”。因此直接使用该布尔值而不是所有布尔值。而(true)
循环当然将始终迭代。您必须使用break
,或System.exit()
,或可能是return
,手动中断
while(condition==true)
将为true,而condition
为true
。您可以通过设置条件=false
使其为false
至少在(条件==true)时,我永远不会使用。相反,只需使用while(condition)
。这就足够了。,而(true)
用于无限循环。它们将永远循环,因为true
总是true
它们通常在您必须执行某些操作直到满足特定条件时使用。然后使用break
语句退出
while(true) {
//attempt to satisfy some condition
if (satisfied) {
break;
}
}
虽然我们永远不知道什么时候会遇到我们需要的情况。我们也可以有无限的for循环
for(;;) {//Code here}
列表项
虽然(正确):
陈述
如果(条件):
打破
这是python中唯一的工作
在java中,您可以出于同样的目的编写这样的代码
而(1==1)
{
标准。。。
}下面是一个真实的例子。当用户输入无法解析为int时,while循环将进行迭代。当用户输入解析为int时,循环将通过返回用户输入的数字退出
private int getNumber(String message) {
while (true) {
System.out.print(message);
String userInput = scanner.nextLine();
try {
return Integer.parseInt(userInput);
} catch (Exception ignored) {
System.out.printf("%s isn't a number!%n", userInput);
}
}
}
有没有可能是假的?@Gregg1989,请让我澄清一下。你是在问,有没有什么方法可以让真变假?@davmac是的。while(true)
循环是否会返回false而不执行?@Gregg1989,while循环从不“返回”任何东西,无论是true还是false。只要条件保持不变,它就会反复检查其条件并执行其主体。只有当条件变为false时,while循环才会停止执行。在while(true)
循环中,条件为true
<在我所知道的任何宇宙中,code>true
从来都不是false
。先生,如果你在玩拖拉,那就玩得很好。“在我所知道的任何宇宙中,真的从来都不是错的”-也许在使用perl时除外。我不太清楚perl.old视频游戏编程101!我不明白为什么有人会使用while(condition==true){
而不是while(condition){
有时循环的退出条件是复杂的,例如在一个服务器中,期望不断等待并处理输入,直到它收到关闭信号。在这种情况下,while(true)
(或其同义词,for(;;)
)有时会被使用,当退出条件最终出现时,会执行中断
。这个问题似乎离题了,因为它毫无意义。它似乎不是问题所在的特定程序语言的答案。请尝试用Java表述一个可能的答案。