JAPTX4869
2019-11-13 00:47
采纳率: 100%
浏览 398
已采纳

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条回答 默认 最新

  • zizida 2019-11-13 09:04
    已采纳

    你的这个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);

    打赏 评论
  • threenewbee 2019-11-13 09:00

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

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

    打赏 评论
  • 毕小宝 2019-11-13 09:08

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

    打赏 评论
  • qq_43396436 2019-11-13 11:32

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

    打赏 评论
  • zhenghuangyu 2019-11-13 17:10

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

    打赏 评论

相关推荐 更多相似问题