java中存在自增或自減運算符,++可以放到變量的前面,也可以放到變量的後面。從了解上講,我們可以認為++i是先進行的運算,然後進行的指派;i++是先指派,然後進行的運算;那麼如下的情況:
int i=5;
i=i++;此時i的結果應該是?---》5
其實在運算的時候,“=”運算符的優先級别是很低的,記憶體中還是先做等号右邊的操作,隻不過i++的時候,會儲存一份i的原始值,做指派操作用。
byte a = 5;
a=5+3;//1、編譯正常,編譯器在編譯的時候,先做等号右邊的運算,結果為int類型的8,
//8在byte的表示範圍内,編譯器會有一個強轉的過程
byte b = 3;
//byte c = a+b;//2、編譯錯誤,因為a+b運算為int類型,同時a和b都為變量,不确定具體的值是多少
//是以如果數值過大的話,就會導緻精度丢失