为什么这会给我10而不是8作为答案?
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 9);
System.out.println(count);
答案 0 :(得分:3)
首先,当不再满足条件时,循环结束。
其次mCanvas.drawBitmap(bgBitmap,matrix, bitmapPaint);
this.invalidate();
表示获取count++
的值并在评估中使用它,并且仅在count
之后count
增加{。}}。
换句话说,1
符合7
,7 < 9
增加到count
。
满足8
8
,8 < 9
增加到count
。
对于9
9
不满意并且循环退出,但在此之前9 < 9
仍然会增加到count
。
因此退出循环后10
为count
。
答案 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);