count=count++,這個(gè)錯(cuò)在哪里??
public class HelloWorld {
? ? public static void main(String[] args) {
? ? ? ??
? ? ? ? // 變量保存成績(jī)
? ? ? ? int score = 53;?
? ? ? ??
? ? ? ? // 變量保存加分次數(shù)
? ? ? ? int count = 0;
? ? ? ? //打印輸出加分前成績(jī)?
? ? ? ? ?System.out.println("加分前成績(jī)"+score);?
? ? ? ?
? ? ? ??
? ? ? ? // 只要成績(jī)小于60,就循環(huán)執(zhí)行加分操作,并統(tǒng)計(jì)加分次數(shù)
? ? ? ? for(;score<60;score++)
? ? ? ? { count=count++;//錯(cuò)的地方就這里,但我不明白,為什么輸出會(huì)是0,求解答!?。。。。?!
? ? ? ? ? ? } ?
? ? ? ? System.out.println("加分后成績(jī)"+score);
? ? ? ? System.out.println("共加了"+count+"次");
? ? ? ??
? ? ? ??
? ? ? ??
? ? ? ? //打印輸出加分后成績(jī),以及加分次數(shù)
? ? ??
? ? }
}
2015-02-16
?count=count++; 你沒(méi)有了解java中i++的執(zhí)行原理,在java中執(zhí)行i++或者++i都會(huì)賦值給臨時(shí)變量的。這和C語(yǔ)言是不同。在C中,能得到你想要的結(jié)果7.但是在java中是不一樣的。這樣寫(xiě)相當(dāng)于以下代碼:temp =count;count=count++;count=temp;所以count一直為0;后綴加(i++),就會(huì)“先賦值(給臨時(shí)變量)后自加1”。運(yùn)算最終使用的,并不是變量本身,而是被賦了值的臨時(shí)變量。