成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

java i++與++i

quietin / 1225人閱讀

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

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

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

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

    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

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

我們在看一下面的例子:

    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,在看一下符號是在前面,它是先吃飯后干活,所以j在吃一次飯,所以此時(shí)j=5所以執(zhí)行的結(jié)果是 1 + 2 + 3 + 5 = 11如果把第四個(gè)++j改成j++ 那么結(jié)果就是 1 + 2 + 3 + 4 = 10

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

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

    keithyau 評論0 收藏0

發(fā)表評論

0條評論

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