什么条件下(真实)测试?什么时候是真是假?

时间:2014-03-19 16:52:44

标签: java loops while-loop

我不明白为什么有人会使用

while(true) {
   //do something
}

而不是

boolean condition = true;
while(condition == true) {
   //do something
}

后者非常容易理解,而前者则不是。

那么,什么条件(真实)检查? when is while(true)为true,何时为false?

8 个答案:

答案 0 :(得分:8)

  

何时为真(真)真,何时为假?

总是如此,它永远不会错。

有些人使用while(true)循环,然后在某个条件成立时使用break退出它们,但这通常是非常草率的练习而不推荐。如果不使用breakreturnSystem.exit()或其他此类机制,它将永远循环。

答案 1 :(得分:3)

虽然我们不知道什么时候遇到需要它的情况。我们也可以有无限循环。

for(;;) {//Code here}

答案 2 :(得分:2)

condition == true也会返回一个布尔值,这是真的'。所以直接使用它而不是全部。

答案 3 :(得分:2)

while(true)循环当然总是迭代。您可以使用breakSystem.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)

  1. 列表项

while(True):    声明    如果(条件):       打破 这仅适用于python 在Java中,您可以出于相同的目的编写类似的文字

while(1 == 1) { 讲台... }