为什么这会给我10而不是8作为答案?Java do while循环帮助我理解
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 9);
System.out.println(count);
为什么这会给我10而不是8作为答案?Java do while循环帮助我理解
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 9);
System.out.println(count);
首先,当条件不再满足循环结束。
其次count++
表示获得值count
并将其用于评估中,并且仅在该增量值count
之后1
。
换句话说,对于7
,7 < 9
被满足并且count
被增加到8
。 对于8
8 < 9
得到满足并且count
递增到9
。 对于9
9 < 9
不满足并且循环退出,但在此之前count
仍然递增到10
。
因此在退出循环count
之后是10
。
如上一条评论所述,您有一个循环,要求它在第一个循环之后进行一些增量操作。关键要记住的是,它会在增量之前做,并检查是否满足条件。这可以通过从9至8,以便调节代码被改变:
int count = 0;
do{
System.out.println("welcome to java");
}while (count++ < 8);
System.out.println(count);
确保你了解这里的这2个基本概念: -
1)在做循环中的代码中最先被执行前的公式求值
2)后缀增量(计数 ++)和前缀增量(++ 计数)可以更改表达式的结果。后缀增量(计数 ++)将计数值的值增加了一个,但仅在的计数值用于表达式中。
所以,如果你不是在你的代码中使用前缀递增(++ 计数)的计值将马上当它在表达式中使用加一。
只需将您的表达式从count++ < 9
更改为++count < 8
然后您将得到8次执行循环。
干杯。
它会在它添加一个之前检查'count <9'。所以它看到它的8,增加一个,看到它的9,增加了一个,并打破了循环。因此制作10 –
查看'++'运算符以获取更多细节。 –
可怕的标题。堆栈溢出不是公告板。请编辑您的标题以有先见之明地总结您的问题。 –