国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java 自增自減,到底咋回事呀(Java面試)

ningwang / 544人閱讀

摘要:開講前肯定得先來道題唄這邊先不講字節(jié)碼的事。一步一步來講解這中間都發(fā)生了啥這個(gè)我就不說了。。

開講前肯定得先來道題唄

public class Demo01 {
    public static void main(String[] args) {
        int i = 1;
        i = i++;
        int j = i++;
        int k = i + ++i * i++;
        System.out.println("i = " + i);
        System.out.println("j = " + j);
        System.out.println("k = " + k);
    }
} 
i = 4
j = 1
k = 11

這邊先不講字節(jié)碼的事。
一步一步來講解這中間都發(fā)生了啥?

int i = 1 ;
這個(gè)我就不說了。。

看我畫的圖之前,在這里先進(jìn)行一些總結(jié)

自增、自減操作都是直接修改變量的值,不經(jīng)過操作數(shù)棧

賦值之前,臨時(shí)結(jié)果也是存放在操作棧中的

=右邊的 從左到右加載值 依次壓入操作數(shù)棧

(下面的圖 “操作棧” 應(yīng)該為 “操作數(shù)棧” ,不影響理解)

上面得到 i = 1

這里, j = 1, i = 2
這張圖比較粗糙,仔細(xì)看應(yīng)該能看得懂。

如果還想深究的,可以來了解下字節(jié)碼

  0: iconst_1
   1: istore_1
   2: iload_1  //將第二個(gè) int 型本地變量推送至棧頂
   3: iinc          1, 1 //將指定 int 型變量增加指定值 (如 i++, i--, i+=2 等)
   6: istore_1 //棧頂 int 型數(shù)值存入第二個(gè)本地變量
   7: iload_1  //將第二個(gè) int 型本地變量推送至棧頂
   8: iinc          1, 1
  11: istore_2
  12: iload_1
  13: iinc          1, 1
  16: iload_1            
  17: iload_1      //這里進(jìn)行++i 操作 分為3個(gè)步驟了 
  18: iinc          1, 1
  21: imul
  22: iadd
  23: istore_3

如果覺得有啥不妥的,可以評論留言呀。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/75020.html

相關(guān)文章

  • java學(xué)習(xí)筆記- 運(yùn)算符

    摘要:中的運(yùn)算符按功能劃分主要分類。算術(shù)運(yùn)算符的優(yōu)先級浮點(diǎn)數(shù)比較在中,一般不建議直接比較兩個(gè)浮點(diǎn)數(shù)是否相等。還有與二元運(yùn)算符相結(jié)合的賦值運(yùn)算符。與二元運(yùn)算符相結(jié)合的賦值運(yùn)算符有其運(yùn)算即為先兩者進(jìn)行二元操作再賦值給前者。 java中的運(yùn)算符按功能劃分主要分7類。 算術(shù)運(yùn)算符 +, -, *, /, ++, --, % 關(guān)系運(yùn)算符 =, ==, != 布爾邏輯運(yùn)算符 &&, &, |...

    JellyBool 評論0 收藏0
  • Chapter3 Java運(yùn)算符

    摘要:運(yùn)算符概述表達(dá)式由運(yùn)算符和操作數(shù)組成運(yùn)算符算術(shù)運(yùn)算符賦值運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符條件運(yùn)算符位運(yùn)算符目運(yùn)算符對幾個(gè)操作數(shù)進(jìn)行操作就是幾目運(yùn)算符算術(shù)運(yùn)算符與賦值運(yùn)算符賦值運(yùn)算符賦值運(yùn)算符是從右往左運(yùn)算,是單目運(yùn)算符格式變量表達(dá)式復(fù)合賦值運(yùn)算符 Lecture1 運(yùn)算符概述 表達(dá)式:由運(yùn)算符和操作數(shù)組成 運(yùn)算符: 算術(shù)運(yùn)算符 賦值運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 條件運(yùn)算符 位運(yùn)算符 ...

    NicolasHe 評論0 收藏0
  • 作為我的的第一門語言,學(xué)習(xí)Java時(shí)是什么感受?

    摘要:作為技術(shù)書籍或者視頻,講解一門語言的時(shí)候都是從最底層開始講解,底層的基礎(chǔ)有哪些呢首先是整個(gè),讓我們對這門語言先混個(gè)臉熟,知道程序的基本結(jié)構(gòu),順帶著還會(huì)說一下注釋是什么樣子。 2018年新年剛過,就迷茫了,Java學(xué)不下去了,不知道從哪里學(xué)了。 那么多細(xì)節(jié)的東西,我根本記不住,看完就忘。 剛開始學(xué)習(xí)的時(shí)候熱情萬丈,持續(xù)不了幾天就慢慢退去。 作為技術(shù)書籍或者視頻,講解一門語言的時(shí)候都是...

    isaced 評論0 收藏0
  • 2.java運(yùn)算符與邏輯控制

    摘要:如果條件為,則邏輯非運(yùn)算符將得到進(jìn)行邏輯判斷的順序?yàn)閺淖蟮接摇T俅螜z測布爾表達(dá)式。其作用域限定在循環(huán)語句塊,其值與此時(shí)數(shù)組元素的值相等。 運(yùn)算符和邏輯控制 運(yùn)算符 java中的運(yùn)算符可以分為以下幾種: 算符運(yùn)算符 關(guān)系運(yùn)算符 位運(yùn)算符 邏輯運(yùn)算符 賦值運(yùn)算符 三目運(yùn)算符 算符運(yùn)算符 操作符 描述 + 加法 - 減法 * 乘法 / 除法 % 取余(模) ...

    dingding199389 評論0 收藏0
  • Java 中的類型、值和變量 之 基本類型

    摘要:在中存在兩種類型基本類型和引用類型。值得注意的是,基本類型的值的狀態(tài)不會(huì)被共享。浮點(diǎn)類型和它們的值中的浮點(diǎn)類型遵循標(biāo)準(zhǔn)的定義。布爾類型和它們的值類型表示兩個(gè)邏輯量,和。 眾所周知,Java是一門靜態(tài)類型的語言,這意味著所有的變量和表達(dá)式的類型會(huì)在編譯時(shí)確定。同時(shí),Java 還是一門強(qiáng)類型的語言,因此變量的值或表達(dá)式的結(jié)果的類型都會(huì)受到限制(比如一個(gè)聲明為 String 的變量不的值不可...

    beita 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<