我不明白为什么有人会使用
while(true) {
//do something
}
而不是
boolean condition = true;
while(condition == true) {
//do something
}
后者非常容易理解,而前者则不是。
那么,什么条件(真实)检查? when is while(true)为true,何时为false?
答案 0 :(得分:8)
何时为真(真)真,何时为假?
总是如此,它永远不会错。
有些人使用while(true)
循环,然后在某个条件成立时使用break
退出它们,但这通常是非常草率的练习而不推荐。如果不使用break
,return
,System.exit()
或其他此类机制,它将永远循环。
答案 1 :(得分:3)
虽然我们不知道什么时候遇到需要它的情况。我们也可以有无限循环。
for(;;) {//Code here}
答案 2 :(得分:2)
condition == true
也会返回一个布尔值,这是真的'。所以直接使用它而不是全部。
答案 3 :(得分:2)
while(true)
循环当然总是迭代。您可以使用break
或System.exit()
手动分离,也可以return
。
while(condition == true)
为condition
时, true
为真。您可以通过设置condition = false
。
至少我永远不会使用while(condition == true)
。而只是使用while (condition)
。这就足够了。
答案 4 :(得分:2)
这是一个真实世界的例子。 while 循环将在用户输入无法解析为 int 时进行迭代。当用户输入被解析为 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);
}
}
}
答案 5 :(得分:1)
而(true)总是如此。循环语句一直在执行。如果你必须打破循环,我们必须使用break语句。
答案 6 :(得分:1)
while(true)
用于无限循环。它们将永远循环,因为true
总是true
它们通常用于必须做某事直到满足某个条件。然后使用break
语句退出
while(true) {
//attempt to satisfy some condition
if (satisfied) {
break;
}
}
答案 7 :(得分:-1)
while(True): 声明 如果(条件): 打破 这仅适用于python 在Java中,您可以出于相同的目的编写类似的文字
while(1 == 1) { 讲台... }