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

資訊專欄INFORMATION COLUMN

java i++與++i

quietin / 1173人閱讀

摘要:在中和是比較常見自增運算。也是在面試中常考的知識點之一。前綴式是先執行運算在生成值,后綴式是先生成值在執行運算。

在java中i++和++i是比較常見自增運算。也是在面試中常考的知識點之一。但發現很很多人對于這個自增運算理解的不是太深,或者只是單純的記憶,沒有真正的理解,下面我通過下面的例子,來講講我對這個自增運算的理解.

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

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

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

下面我們分析一下上面的執行結果:

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

b = i++; 這條語句就是i已經吃飯飯了,所以i=1因為它是先干活后吃飯,所以先向b匯報說我干完了所以此時b=1

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

我們在看一下面的例子:

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

按上面分析,我們來看一下,第一個j++ ++在后面所以是先干活,后吃飯所以此時j=1
第二個j++ 因為第一個j還沒有吃飯,所以它要先吃飯,所以此時j=2第三個j++ 因為第二個j還沒有吃飯,所以它也要先吃飯,所以此時j=3第四個++j 因為第三個j還沒有吃飯,所以它也要先吃飯,所以此時j=4,在看一下符號是在前面,它是先吃飯后干活,所以j在吃一次飯,所以此時j=5所以執行的結果是 1 + 2 + 3 + 5 = 11如果把第四個++j改成j++ 那么結果就是 1 + 2 + 3 + 4 = 10

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65764.html

相關文章

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

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

    WelliJhon 評論0 收藏0
  • Java 性能要點:自動裝箱/ 拆箱 (Autoboxing / Unboxing)

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

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

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

    fnngj 評論0 收藏0
  • JVM 的類初始化機制

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

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

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

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

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

    keithyau 評論0 收藏0

發表評論

0條評論

quietin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<