运算符==与while循环兼容吗?

时间:2013-11-15 13:45:11

标签: java while-loop

这里得到的代码很少:

class While 
{
public static void main(String args[])
  { 
    int n=10;
    while (n==0)
    {
        System.out.println("Print "+n);
        n--;
    }
  }
}

不明白为什么它不打印任何东西? ==运算符是否与while循环兼容? 它在代码中没有错误,但它什么都不打印。

10 个答案:

答案 0 :(得分:6)

您正在以错误的方式使用while循环。它应该是

int n = 10;
while (n > 0)
{
    System.out.println("Print "+n);
    n--;
}

while与任何逻辑操作完全兼容,但在您的情况下,n最初不等于0,因此while将不会执行。

答案 1 :(得分:5)

您当前的状况不允许控件进入while循环。改变条件,使条件成立,直到n的值变为零。

int n=10;
while (n > 0)
{
    System.out.println("Print "+n);
    n--;
}

答案 2 :(得分:4)

您将n初始化为10,这与0不同,因此您永远不会输入while块。

我想这是一个错字,你只需要改变while条件来做你想要的。

答案 3 :(得分:3)

你基本上是说“虽然它是0”但事实并非如此,所以你的循环不会运行。

你应该说“当它大于0”时:

while(n > 0) {
  // ...
}

所以基本上它不是兼容性问题,而是逻辑上的失败。

答案 4 :(得分:3)

您已分配int n=10; 因此while (n==0)始终为false,直到n达到0。

您应该将条件更改为while (n>0)

答案 5 :(得分:2)

只需更改代码

while(n == 0) {
 ..........
}

while(n > 0) {
 ..........
}

这只是逻辑错误。

答案 6 :(得分:1)

你可以。

int n = 10;
while(n == 10) {
   System.out.println("This will run forever");
}

答案 7 :(得分:0)

语法:

while(Condition)
{
//these statements will be executed untill unless Condition evaluates to True
}

while块内的语句将被执行,除非Condition评估为True

代码

您已将n初始化为10且不等于0因此它将为False,因此它不会进入循环打印任何东西

int n=10;
while (n==0)
{
//never enter here as n !=0
}

答案 8 :(得分:0)

变量i的初始值在代码中为10(int n=10;)。

永远不会满足while循环n== 0 10 == 0永远为假)中的条件。对于while循环体中的代码永远不会执行。这就是没有印刷的原因。

答案 9 :(得分:0)

以下代码将打印n的值一次。注意循环结束时的半圆形 。语句块(语句1和2)完全不在while循环中。

int n=10;
while (n==0); // semicolon at the end of statement 
{
System.out.println("Print "+n);//-------1
n--;                           //-------2
}

输出:

输出将为:打印10