Java do While循环帮助我理解

时间:2016-10-08 03:23:41

标签: java

为什么这会给我10而不是8作为答案?

int count = 0;
do{
    System.out.println("welcome to java");

}while (count++ < 9);
System.out.println(count);

3 个答案:

答案 0 :(得分:3)

首先,当不再满足条件时,循环结束。

其次mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint); this.invalidate(); 表示获取count++的值并在评估中使用它,并且仅在count之后count增加{。}}。

换句话说,1符合77 < 9增加到count。 满足8 88 < 9增加到count。 对于9 9不满意并且循环退出,但在此之前9 < 9仍然会增加到count

因此退出循环后10count

答案 1 :(得分:1)

确保您在这里理解这两个基本概念: -

1)do循环中的代码首先执行 之前评估表达式

2)后缀增量( count ++)和前缀增量(++ count )可以更改表达式的结果。后缀增量( count ++)将 count 的值增加一个但仅在 count 之后使用表达。

因此,如果您在代码中使用前缀增量(++ count ),则 count 的值将在使用时立即增加1表达。

只需将您的表情从count++ < 9更改为++count < 8,然后您将执行8次执行do循环。

干杯。

答案 2 :(得分:0)

正如上一篇评论中所述,你有一个循环被要求做一些事情然后在第一次循环之后递增。要记住的关键是它会在它递增之前执行并检查是否满足while条件。这可以通过将代码从9调整为8来改变:

int count = 0;
    do{
        System.out.println("welcome to java");
    }while (count++ < 8);
    System.out.println(count);
  1. 这将首先println(),然后看看计数是否少于那么 8,为0,递增并继续。
  2. 这将是println(),然后查看计数是否小于8,即1,递增并继续。
  3. 这将是println(),然后查看计数是否小于8,即2,递增并继续。
  4. 这将是println(),然后看看count是否小于8,即3,递增并继续。
  5. 这将是println(),然后查看计数是否小于8,即4,递增并继续。
  6. 这将是println(),然后看看count是否小于8,即5,递增并继续。
  7. 这将是println(),然后看看count是否小于8,即6,递增并继续。
  8. 这将是println(),然后查看计数是否小于8,即7,递增并继续。
  9. 最后,它将println()查看计数,看它是否小于8,即8,结束。