国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

關于++、--

2019-11-14 22:37:42
字體:
來源:轉載
供稿:網友
關于++、--

注:本文還沒有改完。周末在改……望見諒……

i++和++i使用的不同點在于,前者是同一語句中的下一個表達式執行完后自增,后者是立即自增。

image

我們來看一下核心的字節碼:

 0: iconst_0 //將int型0推送至棧頂 1: istore_1 //將棧頂int型數值存入第二個本地變量 2: iload_1 //將第二個int型本地變量推送至棧頂 3: iinc          1, 1 //將指定int型變量增加指定值(i++, i--, i+=2) 6: istore_1 //將棧頂int型數值存入第二個本地變量 7: return

再來看一個計算:

j++執行完在執行“=”

我們來看一下核心的字節碼:

0: iconst_0                          //將int型0推送至棧頂1: istore_1                          //將棧頂int型數值存入第二個本地變量2: iload_1                           //將第二個int型本地變量推送至棧頂3: iinc          1, 1                //將指定int型變量增加指定值(i++, i--, i+=2)6: istore_2                          //將棧頂int型數值存入第三個本地變量7: return

執行流圖為:

j++后面沒有其他的表達式,所以j不會自增。即,等號右邊最后一個j++不會執行自增運算。所以程序中不要出現像j=j++這樣的語句,因為它是無效的,應該用j+=1或者j=++j來代替。

image

由上面的圖可以看出,程序首先執行++j,所以在往下執行前加給j加1,所以此時,j=1,然后執行j++,j不會立即自增,所以j還是1,繼續下一個j++,j還是不會立即自增,但是現在就要執行前一個j++的++操作了,所以現在j=2,然后執行最后一個j++,同理,這個j不會立即++,所以此時j=2,之后便要為第二個j++執行++操作,所以此時的j=3。程序后面不在有表達式。所以程序結束,最后一個j++的++運算被拋棄了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南澳县| 玉环县| 兴义市| 宁夏| 苍山县| 泰州市| 中方县| 十堰市| 乃东县| 闻喜县| 论坛| 巧家县| 麻江县| 江西省| 长治市| 大埔县| 平谷区| 浦江县| 瓮安县| 怀宁县| 荥阳市| 文昌市| 温泉县| 萍乡市| 宜昌市| 连州市| 岗巴县| 樟树市| 徐州市| 绥滨县| 射阳县| 行唐县| 赞皇县| 深圳市| 土默特右旗| 泸定县| 仙居县| 桑植县| 峨山| 安阳市| 渝北区|