1. 程式人生 > >先碼後看 為什麼i=i++後i的值不變?很有意思 侵立刪

先碼後看 為什麼i=i++後i的值不變?很有意思 侵立刪

public static void main(java.lang.String[] arg0);
     0  iconst_1
 //常量int型別1入棧
     1  istore_1
 //彈出棧頂元素(常量int 1)存入位置為1的區域性變數(i)中,即i=1
     2  iload_1
 //從位置為1的區域性變數中取出元素壓入棧,數值為1
     3  iinc 1 1
 //區域性變數位置為1的元素自增1,i=2,未入棧,棧頂元素不變
     6  istore_1
 //彈出棧頂元素(常量int 1)存入位置為1的區域性變數(i)中,即i=1
     7  getstatic java.lang.System.out
: java.io.PrintStream [2] 10 iload_1 //從位置為1的區域性變數中取出元素壓入棧,所以數值還是為1 11 invokevirtual java.io.PrintStream.println(int) : void [3] 14 return Line numbers: [pc: 0, line: 3] [pc: 2, line: 4] [pc: 7, line: 5] [pc: 14, line: 6] }

簡單來說,就是iinc這個指令沒有將值push,所以pop的時候還是原來的值。

相關推薦

為什麼i=i++i有意思

public static void main(java.lang.String[] arg0); 0 iconst_1 //常量int型別1入棧 1 istore_1 //彈出棧頂元素(常量int 1)存入位置為1的區域性變數(

spring配置bean的幾種方式:xml直接配置、靜態工廠、例項工廠、factory bean、註解

轉自:http://blog.csdn.net/love___code/article/details/53167138 spring框架的核心在於“Ioc控制反轉”“DI依賴注入”以及“AOP面向切面程式設計”,所以在實現這些核心是最基礎的一步即為在ioc容器中配置b

python元素如何去重,去重如何保持原來元素的順序

python列表元素去重後如何保持原來的順序不變    原列表:        list1 = [1,2,1,4,9,3,5,2,6,7,3,1,6,8,4,0]    去重,使用集合set來去重:        list2 = list(set(list1)    set去

java遊戲開發——連連

遊戲介紹: “連連看”是一款來源於我國臺灣的桌面小遊戲,主要考驗的是玩家們的眼力,在有限的時間內,只要能把所有能連線的相同圖案,兩個兩個的找出來,每找到一對,它們就會自動消失,只要能把所有的圖案全部消完即可獲得勝利。所謂能夠連線,是指無論橫向還是縱向,從一個圖案到另一個圖案之間的連線拐角不能超過

【程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列, //再將a[i][i]累加輸出。

//【程式29】 TestAdd3.java 題目:求一個3*3矩陣對角線元素之和 1.程式分析:利用雙重for迴圈控制輸入二維陣列, //再將a[i][i]累加後輸出。 public class TestAdd3App { /** * @param args

完讓你徹底理解 WebSocket 原理,附完整的實戰代(包含前端和端)

tcp 協議 learn php 握手 live 雙向 簡單 再次 註意 1、前言 最近有同學問我有沒有做過在線咨詢功能。同時,公司也剛好讓我接手一個 IM 項目。所以今天抽時間記錄一下最近學習的內容。本文主要剖析了 WebSocket 的原理,以及附上一個完整的聊天室實戰

巨坑:瀏覽器在短時間內對於同一個請求的處理,會等待上一個請求完成,再處理下一個請求,導致在測試異步時誤導代有問題。

例子 red count 時間 ble http tab 問題 結束 例子:   tornado後端異步處理(模擬異步處理20秒)      瀏覽器請求接口:http://192.168.1.98:1104/test         然後又打開一個table,請求同一個接口

七:重建二叉樹(依據序遍歷(或者序遍歷)和中序遍歷重建二叉樹)

off 相同 tree int roo 節點 先序 throw -a 對於一顆二叉樹。能夠依據先序遍歷(或者後序遍歷)和中序遍歷(樹中不含反復的數字)又一次還原出二叉樹。 解析: 1. 先序遍歷序列的第一個元素必然是根節點,能夠由此獲取二叉樹的根節點。 2. 依

Maven安裝好包下載的測試命令和配置量的查命令:mvn help:system

spa 下回 targe blank log plugin -m 幫助 pac mvn help:system 該命令會打印出所有的Java系統屬性和環境變量,這些信息對我們日常的編程工作很有幫助。運行這條命令的目的是為了讓Maven執行一個真正的任務。我們可以從

++i && i++

也會 amp style 運算符 i++ 直接 運算 size pan 前置遞增運算符:先將運算對象加1,然後將改變後的對象作為求值結果(去使用)。 後置遞增運算符:求值結果是運算對象改變之前的那個值的副本,也會將運算對象加1. 綜合:前置版本的遞增運算符,它將值加1後直接

VIN識別:助力汽車市場轉型升級

color 買車 文化 消費 手工錄入 規模 互聯網+ 防火墻 智能 隨著中國汽車市場的成熟,汽車後市場發展迅速,呈“井噴”式增長。據最新數據統計,2015年,中國汽車後市場產值突破8000億規模,到2018年有望突破萬億。 所謂汽車後市場是指汽車銷售以後,圍繞汽車使用過程

vue代上傳服務器背景圖片404解決方法

tex extract 添加 項目路徑 需要 -c extra awesome bsp 問題:代碼上傳服務器後,圖片404,使用的font-awesome圖標也是404 解決辦法: 如果你用了vue-cil,那麽在build目錄下找到utils.js中的ExtractT

數據結構 遞歸和非遞歸方式實現二叉樹序、中序和序遍歷

nor post 後序遍歷 order else 對象 二叉樹先序 bre print   二叉樹的先序遍歷順序是根、左、右;中序遍歷順序是左、根、右;後序遍歷順序是左、右、根。   遞歸方式實現如下: 1 public class TreeNode { 2

i=i+1與i+=1的區別及效率

int 而且 它的 obj 情況下 new clas IT 編譯器 在做個java優化的PPT時,看到了i=i+1與i+=1的區別,在這之前還真沒想到那麽細。 1.x=x+1,x+=1及x++的效率哪個最高?為什麽? x=x+1最低,因為它的執行如下。 (1)讀取

二叉樹遍歷(序、中序、序)

廣度 nsh 直接 循環 ron color lan 通過 ogr 二叉樹的遍歷(遞歸與非遞歸) 遍歷:traversal  遞歸:recursion 棧----------回溯----------遞歸 棧和回溯有關 本文討論二叉樹的常見遍歷方式的代碼(Java)實現,包括

下載的STM32代,打開工程彈出“Using an MDK Version 4 Project"

STM32F4原因:下載的代碼是keil4寫的,用keil5打開工程就找不到器件庫。(註:同款芯片的前提下)方法:兼容方式:Migrate to Device Pack 打開下載的程序文件,隨便打開一個FWLIB文件夾的文件,查看程序的DFP.Pack的版本點擊 Migrate to Device Pack

簡介一下 i++和++i&&i=i+i,i+=1;的區別

text 的區別 pan 表示 復合 mil mod 當前 resolv 首先: int i=2; i++=2; ++i=3; 前者先顯示當前的值,而後者則是先自增在顯示值; second i=i+1和i+=1; 輸出結果雖然一樣,但是 1.byte i=2; i+=2

iloc[[i]] 和 loc[[i]] 的區別

ron 一個 dex 區別 pre 1.0 的區別 str strong In [2]: df Out[2]: A B 0 1.068932 -0.794307 2 -0.470056 1.192211 4 -0.284561 0

linux服務器安裝Mysql,登錄到mysql數據庫

test 重啟 安全 drop orm 命令 https con client 參考鏈接:https://www.cnblogs.com/ThinkVenus/p/7670722.html 進入數據庫後,只能看到information_schema/test這兩個庫,其他的