成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java i++與++i

quietin / 1175人閱讀

摘要:在中和是比較常見自增運(yùn)算。也是在面試中常考的知識(shí)點(diǎn)之一。前綴式是先執(zhí)行運(yùn)算在生成值,后綴式是先生成值在執(zhí)行運(yùn)算。

在java中i++和++i是比較常見自增運(yùn)算。也是在面試中常考的知識(shí)點(diǎn)之一。但發(fā)現(xiàn)很很多人對(duì)于這個(gè)自增運(yùn)算理解的不是太深,或者只是單純的記憶,沒有真正的理解,下面我通過下面的例子,來講講我對(duì)這個(gè)自增運(yùn)算的理解.

++符號(hào)在變量前面為稱之為前綴式,++符號(hào)在變量后面稱之為后綴式。前綴式是先執(zhí)行運(yùn)算在生成值,后綴式是先生成值在執(zhí)行運(yùn)算。在說的直白一點(diǎn)就是把變量比作一個(gè)人,把++符號(hào)比作吃飯 那么前綴式就是如果要用它那它必須先吃飯才能干活,后綴式就是必須干完活后,在吃飯。

那么按照上面的比喻,我們看一下面的例子:

    int i = 0;
    int a = ++i;
    int b = i++;
    System.out.println(a);
    System.out.println(b);
    System.out.println(i);

下面我們分析一下上面的執(zhí)行結(jié)果:

a = ++i; 看這條語句,按我們之前的比喻i這個(gè)人是先吃飯后干活然后向a匯報(bào)工作說我干完了開始i沒有吃飯i=0然后i先吃飯此時(shí)i=1,然后告訴a我干完了,所有a=1

b = i++; 這條語句就是i已經(jīng)吃飯飯了,所以i=1因?yàn)樗窍雀苫詈蟪燥?,所以先向b匯報(bào)說我干完了所以此時(shí)b=1

接下來我們?cè)诳纯磇的值 因?yàn)閕在向b匯報(bào)工作是先匯報(bào)的,還沒有吃飯,所以在匯報(bào)完第一件事就是先吃飯,所以不管接下來i還有沒有新的工作,它第一件事還是先吃飯,i沒吃飯時(shí)是1,吃完飯后是2,所以此時(shí)的i=2。

我們?cè)诳匆幌旅娴睦樱?/p>

    int j = 1;
    j = j++ + j++ + j++ + ++j;

按上面分析,我們來看一下,第一個(gè)j++ ++在后面所以是先干活,后吃飯所以此時(shí)j=1
第二個(gè)j++ 因?yàn)榈谝粋€(gè)j還沒有吃飯,所以它要先吃飯,所以此時(shí)j=2第三個(gè)j++ 因?yàn)榈诙€(gè)j還沒有吃飯,所以它也要先吃飯,所以此時(shí)j=3第四個(gè)++j 因?yàn)榈谌齻€(gè)j還沒有吃飯,所以它也要先吃飯,所以此時(shí)j=4,在看一下符號(hào)是在前面,它是先吃飯后干活,所以j在吃一次飯,所以此時(shí)j=5所以執(zhí)行的結(jié)果是 1 + 2 + 3 + 5 = 11如果把第四個(gè)++j改成j++ 那么結(jié)果就是 1 + 2 + 3 + 4 = 10

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/65764.html

相關(guān)文章

  • Java多線程基礎(chǔ)(一)——線程

    摘要:一線程的基本概念單線程簡(jiǎn)單的說,單線程就是進(jìn)程中只有一個(gè)線程。多線程由一個(gè)以上線程組成的程序稱為多線程程序。當(dāng)線程調(diào)用完方法進(jìn)入后會(huì)自動(dòng)釋放鎖,線程獲得鎖。 一、線程的基本概念 1.1 單線程 簡(jiǎn)單的說,單線程就是進(jìn)程中只有一個(gè)線程。單線程在程序執(zhí)行時(shí),所走的程序路徑按照連續(xù)順序排下來,前面的必須處理好,后面的才會(huì)執(zhí)行。 Java示例: public class SingleThrea...

    WelliJhon 評(píng)論0 收藏0
  • Java 性能要點(diǎn):自動(dòng)裝箱/ 拆箱 (Autoboxing / Unboxing)

    摘要:文章主要介紹通過改進(jìn)就已存在的骨灰級(jí)特性大幅度提高應(yīng)用性能。在繼續(xù)解釋造成差異的細(xì)節(jié)之前,讓我們仔細(xì)回味一下中的這兩個(gè)概念自動(dòng)裝箱與拆箱。 【編者按】本文作者為 Ali Kemal TASCI,最早于2016年4月9日發(fā)布于DZONE社區(qū)。文章主要介紹通過改進(jìn) Java 1.5 就已存在的骨灰級(jí)特性大幅度提高應(yīng)用性能。 本文系 OneAPM 工程師編譯呈現(xiàn),以下為正文。 如果我告訴你:...

    Jackwoo 評(píng)論0 收藏0
  • 高薪程序員&面試題精講系列22之說說JavaIO流,常用哪些IO流?

    摘要:一面試題及剖析今日面試題今天壹哥帶各位復(fù)習(xí)一塊可能會(huì)令初學(xué)者比較頭疼的內(nèi)容,起碼當(dāng)時(shí)讓我很有些頭疼的內(nèi)容,那就是流。在這里壹哥會(huì)從兩部分展開介紹流,即與流。除此之外盡量使用字節(jié)流。關(guān)閉此輸入流并釋放與流相關(guān)聯(lián)的任何系統(tǒng)資源。 一. 面試題及剖析 1. 今日面試題 今天 壹哥 帶各位復(fù)習(xí)一塊可...

    fnngj 評(píng)論0 收藏0
  • JVM 的類初始化機(jī)制

    摘要:當(dāng)你在程序中對(duì)象時(shí),有沒有考慮過是如何把靜態(tài)的字節(jié)碼轉(zhuǎn)化為運(yùn)行時(shí)對(duì)象的呢,這個(gè)問題看似簡(jiǎn)單,但清楚的同學(xué)相信也不會(huì)太多,這篇文章首先介紹類初始化的機(jī)制,然后給出幾個(gè)易出錯(cuò)的實(shí)例來分析,幫助大家更好理解這個(gè)知識(shí)點(diǎn)。 當(dāng)你在 Java 程序中new對(duì)象時(shí),有沒有考慮過 JVM 是如何把靜態(tài)的字節(jié)碼(byte code)轉(zhuǎn)化為運(yùn)行時(shí)對(duì)象的呢,這個(gè)問題看似簡(jiǎn)單,但清楚的同學(xué)相信也不會(huì)太多,這篇...

    20171112 評(píng)論0 收藏0
  • 長(zhǎng)文慎入-探索Java并發(fā)編程高并發(fā)解決方案

    摘要:所有示例代碼請(qǐng)見下載于基本概念并發(fā)同時(shí)擁有兩個(gè)或者多個(gè)線程,如果程序在單核處理器上運(yùn)行多個(gè)線程將交替地?fù)Q入或者換出內(nèi)存這些線程是同時(shí)存在的,每個(gè)線程都處于執(zhí)行過程中的某個(gè)狀態(tài),如果運(yùn)行在多核處理器上此時(shí),程序中的每個(gè)線程都 所有示例代碼,請(qǐng)見/下載于 https://github.com/Wasabi1234... showImg(https://upload-images.jians...

    SimpleTriangle 評(píng)論0 收藏0
  • 《十萬字Java入門練習(xí)100例》1-10例——紙上得來終覺淺,絕知此事要躬行

    摘要:代碼實(shí)現(xiàn)在控制臺(tái)打印總結(jié)本篇文章帶大家搭好環(huán)境,并體驗(yàn)了控制臺(tái)打印。輸出結(jié)果總結(jié)熟練掌握取余和整除運(yùn)算,大有作用。終止本次循環(huán),繼續(xù)執(zhí)行下一次循環(huán)。 ?本文收錄...

    keithyau 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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