在这里:
输出应该是9,为什么是10?
有人可以一步一步解释我吗?
答案 0 :(得分:5)
当while
为10(9仍小于10)时,count
循环退出。
然后是println
count
,其值为10.
最后你增加它的值,在打印之后它是11。
答案 1 :(得分:2)
这部分:
Pangool(){
while(count < 10)
new Pangool(++count)
}
将count
从0增加到10。
然后在这里:
public static void main (String[] args){
new Pangool();
new Pangool("Pangool");
System.out.println(count++);
}
它会打印当前值count
,然后增量count
。这一行:
System.out.println(count++);
相当于:
System.out.println(count);
count = count + 1;
If you write out the code and add a few print statements, you can see the flow of the value:
before: 0
after: 1
before: 1
after: 2
before: 2
after: 3
before: 3
after: 4
before: 4
after: 5
before: 5
after: 6
before: 6
after: 7
before: 7
after: 8
before: 8
after: 9
before: 9
after: 10
10
10
11
答案 2 :(得分:2)
Lemme引导您完成它:
首先调用启动循环的new Pangool()
计数初始化为0
我们现在调用Pangool(++count)
,它将count增加到1并传递值1(count ++将传递0并在之后将其更改为1)。 数量为1。
这会调用不执行任何操作的Pangool(int)
构造函数
循环继续增加值,直到 count为9 ,在此循环中,我们现在调用Pangool(++count)
,将计数增加到10 。< / p>
现在我们已完成Pangool()
并且计数为10
现在我们调用Pangool("Pangool")
调用字符串构造函数,它不计算任何数,仍为10。
现在我们致电System.out.println(count++)
,此打印数量为10,然后将计数更改为11 。
System.out.println(count)
将在11之后打印。
在此处查看预修复和后期修复操作符:
答案 3 :(得分:0)
这是因为你开始计数为0并且停在9,9包括在内。 您的计数从0开始,增加1,大约10次。 如果您按数字计算数字,0 1 2 3 4 5 6 7 8 9,您可以看到有10个数字。