亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java中的自增問題介紹

 更新時間:2016年03月23日 15:49:42   投稿:jingxian  
下面小編就為大家?guī)硪黄猨ava中的自增問題介紹。小編覺得挺不錯的,現(xiàn)在分享給大家。給大家一個參考。

運行下面這段代碼,其結(jié)果是什么呢?

package com.test;

public class Inc {
  
  public static void main(String[] args) {
    Inc inc = new Inc();
    int i = 0;
    inc.fermin(i);
    i = i++;
    System.out.println(i);
  }

  void fermin(int i) {
    i++;
  }
}

結(jié)果是:0

上述類似代碼在C/C++中運行結(jié)果是:1,這是為什么呢?
 

這是因為Java使用了中間緩存變量機制:
i=i++;等同于:
temp=i; (等號右邊的i)
i=i+1;      (等號右邊的i)
i=temp;   (等號左邊的i)
而i=++i;則等同于:
i=i+1;
temp=i;
i=temp;


詳解:

jvm里面有兩個存儲區(qū),一個是暫存區(qū)(是一個堆棧,以下稱為堆棧),另一個是變量區(qū)。

jvm會這樣運行這條語句:

步驟1   jvm把i的值(其值是0)拷貝到臨時變量區(qū)(temp=0)。

步驟2 變量區(qū)i的值加1,這時i的值是1。

步驟3 返回臨時變量區(qū)(temp)的值,注意這個值是0,沒修改過。

步驟4 返回值賦值給變量區(qū)的i,此時i的值被重置成0。


 c/c++中沒有另外設(shè)置一個臨時變量或是臨時空間來保存i,所有操作都是在一個內(nèi)存空間中完成的,所以在c/c++中是1。

以上這篇java中的自增問題介紹就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring BPP中如何優(yōu)雅的創(chuàng)建動態(tài)代理Bean詳解

    Spring BPP中如何優(yōu)雅的創(chuàng)建動態(tài)代理Bean詳解

    這篇文章主要給大家介紹了關(guān)于Spring BPP中如何優(yōu)雅的創(chuàng)建動態(tài)代理Bean的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 如何用Java的swing編寫簡單計算器

    如何用Java的swing編寫簡單計算器

    這篇文章主要給大家介紹了關(guān)于如何用Java的swing編寫簡單計算器的相關(guān)資料,通過本文可以設(shè)計一個圖形界面的簡易計算器,完成簡單的算術(shù)運算符,可以完成加法、減法、乘法、除法和取余運算,需要的朋友可以參考下
    2023-12-12
  • Spring Boot部署到Tomcat過程中遇到的問題匯總

    Spring Boot部署到Tomcat過程中遇到的問題匯總

    這篇文章主要給大家分享了關(guān)于Spring Boot部署到Tomcat過程中遇到的一些問題,文中將解決的方法介紹非常詳細,對同樣遇到這個問題的朋友具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-03-03
  • 如何使用Java調(diào)用Spark集群

    如何使用Java調(diào)用Spark集群

    這篇文章主要介紹了如何使用Java調(diào)用Spark集群,我搭建的Spark集群的版本是2.4.4,本文結(jié)合示例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • 使用@Valid+BindingResult進行controller參數(shù)校驗方式

    使用@Valid+BindingResult進行controller參數(shù)校驗方式

    這篇文章主要介紹了使用@Valid+BindingResult進行controller參數(shù)校驗方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java網(wǎng)絡(luò)編程UDP實現(xiàn)多線程在線聊天

    Java網(wǎng)絡(luò)編程UDP實現(xiàn)多線程在線聊天

    這篇文章主要為大家詳細介紹了Java網(wǎng)絡(luò)編程UDP實現(xiàn)多線程在線聊天,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • java中對象和Map互相轉(zhuǎn)換的幾種常見方式舉例

    java中對象和Map互相轉(zhuǎn)換的幾種常見方式舉例

    Map在日常開發(fā)應(yīng)用中的頻率很高,最常用的實現(xiàn)類是HashMap和有序的TreeMap,下面這篇文章主要給大家介紹了關(guān)于java中對象和Map互相轉(zhuǎn)換的幾種常見方式舉例,需要的朋友可以參考下
    2024-01-01
  • Java生態(tài)/Redis中使用Lua腳本的過程

    Java生態(tài)/Redis中使用Lua腳本的過程

    這篇文章主要介紹了Java生態(tài)/Redis中如何使用Lua腳本,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 解析如何開發(fā)FineReport的自定義控件

    解析如何開發(fā)FineReport的自定義控件

    FineReport作為插件化開發(fā)的報表軟件,有些特殊需求的功能需要自己開發(fā),開發(fā)的插件包帆軟官方有提提供,可以去帆軟論壇上找,本文將主要介紹如何開發(fā)一個自定義控件,這里講講方法論。需要的朋友一起來看下吧
    2016-12-12
  • springboot實現(xiàn)讀取nacos配置文件

    springboot實現(xiàn)讀取nacos配置文件

    這篇文章主要介紹了springboot實現(xiàn)讀取nacos配置文件方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論