以前一直分不清楚i++和++i,一直都是死記住,今天終於理解了,特此記錄一下
//i++先取後用 ++i先用後取
int i=5;
int s=(i++)+(++i)+(i--)+(--i);
上面這裡換成 i+++(++i)+i--+--i 也是一樣的結果
system.out.println(i++);//5
上面這裡輸出為什麼是5呢,其實是因為i++是先取後用的,所以i的值傳入進去以後就被取出來了,所以整個式子的值就是5,然後執行加1操作,i的值就變為6,然後傳給下乙個要用的,以此類推。
system.out.println(++i);//7
system.out.println(i--);//7
system.out.println(--i);//5
下面這四個的輸出是想說明有沒有括號都一樣
system.out.println((i++));//5
system.out.println((++i));//7
system.out.println((i--));//7
system.out.println((--i));//5
system.out.println(s);//24
自增 i與i 自減 i與i
a 前置自增 變數值先 1,再計算表示式的值 前自增,先增再用 a 後置自增 先計算表示式的值 變數值後 1 後自增,先用再增 a 後置自減 先計算表示式的值 變數值後 1 後自減,先用再減 a 前置自減 變數值先 1,再計算表示式的值 前自減,先減再用 當自增自減遇上邏輯與和邏輯或 因邏輯與一非即...
i 與 i(i 與 i同理)
1.單獨用時,是一樣的,i 等同於 i 相當於i i 1 若賦值時,a i 相當於a i i i 1 而a i 相當於i i 1 a i 2.for迴圈中,i 等同於 i 如 for i 0 i 10 i for i 0 i 10 i 而在while迴圈中,有區別 如 while count whi...
詳細解析i 與 i
i 與 i是特殊的自增運算,類似的還有自減操作運算i 與 i。下面從c與c 兩個角度來比較這兩種形式的運算方式。1.c中 簡單的地說,i和i 作為乙個語句單獨使用時 如i 或者 i 就是i i 1,它們之間沒有區別。而在作為語句的一部分時,a i相當於i i 1 a i 通過表示式就可以看出,因為 ...