public class HelloWorld {
public static void main(String[] args) {
// 变量保存成绩
int score = 53;
// 变量保存加分次数
int count = 0;
//打印输出加分前成绩
System.out.println("加分前成绩"+score);
// 只要成绩小于60,就循环执行加分操作,并统计加分次数
for(;score<60;score++)
{ count=count++;//错的地方就这里,但我不明白,为什么输出会是0,求解答!!!!!!!
}
System.out.println("加分后成绩"+score);
System.out.println("共加了"+count+"次");
//打印输出加分后成绩,以及加分次数
}
}
count=count++; 你没有了解java中i++的执行原理,在java中执行i++或者++i都会赋值给临时变量的。这和C语言是不同。在C中,能得到你想要的结果7.但是在java中是不一样的。这样写相当于以下代码:temp =count;count=count++;count=temp;所以count一直为0;后缀加(i++),就会“先赋值(给临时变量)后自加1”。运算最终使用的,并不是变量本身,而是被赋了值的临时变量。