久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

java - Byte自增問題

瀏覽:116日期:2023-12-23 15:26:55

問題描述

Byte a = 123;a++;System.out.println(a);// 124/* * 上面的結論是: a++的時候首先是 創建一個Byte對象124,然后將a引用指向這個Byte 124對象,這個解釋有問題嗎? */Byte b = 126;b = b++;System.out.println(b);// 126/* * 根據第一段代碼的執行結果; * b=b++,的執行操作是首相將b引用賦值給b引用,所以沒有改變,然后將b引用所指向的對象自增(這個實現的過程是創建一個對象值為127, * 然后讓b引用指向這個127),如果這樣理解,結果不應該是127嗎 */

求解,謝謝

問題解答

回答1:

b = b++: 如果了解 C++ 的話,可以參考 ++ 的自增的實現,應該就能理解為什么是 126 了

Byte operator++(Byte) { Byte temp = *this; this->value = this->value + 1; return temp;}

可以理解為 b 等于操作自增前的 temp

回答2:

++、--務必單獨寫,否則就是自己給自己找麻煩。對于像i=i+++++i這種題目,只能鄙視了……

回答3:

已解決http://blog.csdn.net/brooksyc...跟帖接分

回答4:

++b和b++的區別,其實沒啥用

回答5:

java棧幀含有局部變量表和操作數棧,++自增操作是對局部變量表中的值直接操作的,i=i++時,先把局部變量表的i壓入操作數棧,再把局部變量表的i加1變為127,然后把操作數棧中的i(126)寫回到局部變量表的i中,覆蓋了127數據,變為126了。而++i順序不同,是先自增局部變量表的i,然后再加入操作數棧的。

標簽: java
相關文章:
主站蜘蛛池模板: 瓮安县| 通渭县| 华宁县| 余庆县| 秀山| 静安区| 陆河县| 信丰县| 宜丰县| 科技| 瓮安县| 保定市| 新河县| 如东县| 鹿泉市| 三穗县| 连城县| 乌什县| 绥滨县| 锦屏县| 旅游| 当阳市| 武定县| 保定市| 离岛区| 永泰县| 华坪县| 海淀区| 农安县| 南汇区| 抚州市| 巨鹿县| 天津市| 马公市| 南城县| 和硕县| 西安市| 繁昌县| 承德市| 若羌县| 滨海县|