最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java中的自增問題介紹

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

運(yù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++中運(yùn)行結(jié)果是:1,這是為什么呢?
 

這是因?yàn)镴ava使用了中間緩存變量機(jī)制:
i=i++;等同于:
temp=i; (等號(hào)右邊的i)
i=i+1;      (等號(hào)右邊的i)
i=temp;   (等號(hào)左邊的i)
而i=++i;則等同于:
i=i+1;
temp=i;
i=temp;


詳解:

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

jvm會(huì)這樣運(yùn)行這條語句:

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

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

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

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


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

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

相關(guān)文章

  • RedisTemplate.opsForHash()用法簡介并舉例說明

    RedisTemplate.opsForHash()用法簡介并舉例說明

    redistemplate.opsforhash是RedisTemplate模板類中的一個(gè)方法,用于獲取操作哈希數(shù)據(jù)類型的接口,這篇文章主要給大家介紹了關(guān)于RedisTemplate.opsForHash()用法簡介并舉例說明的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • Sax解析xml_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    Sax解析xml_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Sax解析xml,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • java中常見的6種線程池示例詳解

    java中常見的6種線程池示例詳解

    這篇文章主要介紹了java中常見的6種線程池示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Java中PropertyDescriptor的用法及說明

    Java中PropertyDescriptor的用法及說明

    這篇文章主要介紹了Java中PropertyDescriptor的用法及說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Struts2中接收表單數(shù)據(jù)的三種驅(qū)動(dòng)方式

    Struts2中接收表單數(shù)據(jù)的三種驅(qū)動(dòng)方式

    這篇文章簡單給大家介紹了Struts2中接收表單數(shù)據(jù)的三種驅(qū)動(dòng)方式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下吧
    2017-07-07
  • SpringBoot使用Logback進(jìn)行日志記錄的代碼示例

    SpringBoot使用Logback進(jìn)行日志記錄的代碼示例

    在開發(fā)Web應(yīng)用程序時(shí),日志記錄是非常重要的一部分,在SpringBoot中,我們可以使用Logback進(jìn)行日志記錄,Logback是一款高性能、靈活的日志框架,它可以滿足各種不同的日志需求,在本文中,我們介紹了如何在SpringBoot中使用Logback進(jìn)行日志記錄
    2023-06-06
  • java自定義日志輸出文件(log4j日志文件輸出多個(gè)自定義日志文件)

    java自定義日志輸出文件(log4j日志文件輸出多個(gè)自定義日志文件)

    打印日志的在程序中是必不可少的,如果需要將不同的日志打印到不同的地方,則需要定義不同的Appender,然后定義每一個(gè)Appender的日志級別、打印形式和日志的輸出路徑,下面看一個(gè)示例吧
    2014-01-01
  • Java 如何實(shí)現(xiàn)一個(gè)http服務(wù)器

    Java 如何實(shí)現(xiàn)一個(gè)http服務(wù)器

    這篇文章主要介紹了Java 如何實(shí)現(xiàn)一個(gè)http服務(wù)器,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-11-11
  • Java集合-HashMap

    Java集合-HashMap

    這篇文章主要介紹了Java集合HashMap,也叫散列表,是一種非常重要的數(shù)據(jù)結(jié)構(gòu),應(yīng)用場景及其豐富,許多緩存技術(shù)(比如memcached)的核心其實(shí)就是在內(nèi)存中維護(hù)一張大的哈希表,下面來看看文章的具體內(nèi)容吧,需要的小伙伴也可參考一下
    2022-01-01
  • java用戶管理注冊功能 含前后臺(tái)代碼

    java用戶管理注冊功能 含前后臺(tái)代碼

    這篇文章主要介紹了java用戶管理注冊功能,含前端和后臺(tái)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10

最新評論

郑州市| 贵定县| 泽库县| 万荣县| 上高县| 伊金霍洛旗| 多伦县| 拜泉县| 手游| 修武县| 当阳市| 漳平市| 华安县| 永福县| 开封市| 常山县| 灌南县| 游戏| 榕江县| 吴桥县| 吴堡县| 上林县| 明光市| 肇庆市| 双辽市| 靖西县| 新和县| 饶平县| 忻城县| 青海省| 佳木斯市| 葵青区| 信丰县| 沽源县| 苏州市| 公安县| 井冈山市| 泸州市| 同心县| 塔城市| 彰武县|