Java中while循环语句的一点新手问题

public class Demo {
public static void main(String[] args) {
int i = 0;
int b = 0;
while (i > 1) {
b++;
}
System.out.println("b=" + b);


```结果输出显示为“b=0”,
那把“i=2”的话,while括号里面的条件返回值不就是真吗?不就应该执行“b++”自增这条语句吗?但是最后运行时结果为什么就不输出了呢?控制台上什么都不显示,哪里错了呢?
非常困惑,请大虾告知新手问题。谢谢

5个回答

你的这个while循环的条件是i>1,但是你定义的i是0,他不大于0.不管你b变量怎么弄,i才是循环的条件,这个i要着重去看。
public class Demo {
public static void main(String[] args) {
int i = 2;
int b = 0;
while (i > 1) {
i--;
b++;
}
System.out.println("b=" + b);

如果i=2,那么while (i>1)永久成立,造成死循环

int i = 2;
int b = 0;
while (i-- > 1) {
b++;
}
这么写

i=2 那么 i>1 始终是真,while 循环将回一直执行,不会终止。
要想输出 b 的值,把打印那句放在 while 内部。

i=0 0不大于1 所有没有进入循环 b++没有执行 所以是直接打印b

i=0 没有进循环,i=2 while 是死循环。不打印

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问