天天看點

此代碼募集最優秀的答案

閱讀本文大概需要 1 分鐘。

這次的 [ 一分鐘系列 ] 灰常的簡單,隻有短短幾十來個字,考驗你 Java 基礎的時候到了,燒動吧,大腦!話不多說,本次代碼隻為募集到最優秀的答案,代碼如下:

int j = 0;

for(int i=0; i<100; i++){

j = j++;

}

System.out.print(j);

你覺得最後會輸出多少呢,為什麼?

請選擇了答案的童鞋們,在評論處寫下你選擇此答案的理由。

- _ -

答案不在下面

答案真的不在下面 

點選下方空白區域檢視答案

「正确答案是 0 ,想不到吧」

這是因為 Java 中 [ 前++ ] 和 [ 後++ ] 的差別;

[ j = j++ ] 這個屬于 [ 後++ ],[ 後++ ] 的運算原理是先将值 +1 ,然後将 +1 前的值指派給 = 号前面的變量 ;

[ j = j++] 其實等于做了如下兩個操作:

a) j 自己增加1變成1;

b) 然後将自增前的 0 又指派給 j,是以 [ j = j++ ] 始終為 0 。

·END·

程式員的成長之路

路雖遠,行則必至