count=count++,這個錯在哪里??
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+"次");
? ? ? ??
? ? ? ??
? ? ? ??
? ? ? ? //打印輸出加分后成績,以及加分次數
? ? ??
? ? }
}
2015-02-16
?count=count++; 你沒有了解java中i++的執行原理,在java中執行i++或者++i都會賦值給臨時變量的。這和C語言是不同。在C中,能得到你想要的結果7.但是在java中是不一樣的。這樣寫相當于以下代碼:temp =count;count=count++;count=temp;所以count一直為0;后綴加(i++),就會“先賦值(給臨時變量)后自加1”。運算最終使用的,并不是變量本身,而是被賦了值的臨時變量。