閱讀本文大概需要 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·
程式員的成長之路
路雖遠,行則必至