欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中的前++和后++的區(qū)別示例代碼詳解

 更新時(shí)間:2020年06月30日 09:48:39   作者:冷囧囧  
這篇文章主要介紹了java中的前++和后++的區(qū)別示例代碼詳解,其實(shí)大家只要記住一句話就可以了,前++是先自加再使用而后++是先使用再自加,本文通過(guò)代碼給大家詳細(xì)解說(shuō),感興趣的朋友跟隨小編一起看看吧

java中的前加加++和后加加++,有很多人搞的很暈,不太明白!今天我舉幾個(gè)例子說(shuō)明下前++和后++的區(qū)別!

其實(shí)大家只要記住一句話就可以了,前++是先自加再使用而后++是先使用再自加!

前++和后++總結(jié):其實(shí)大家只要記住一句話就可以了,前++是先自加再使用而后++是先使用再自加!

請(qǐng)大家看下面的例子就明白了!

public class Test {
	
	public static void main(String[] args) {
		
		//測(cè)試,前加加和后加加
		//前++和后++總結(jié):其實(shí)大家只要記住一句話就可以了,前++是先自加再使用而后++是先使用再自加!
		int age = 6;
		//先自加,再使用(age先自加1,然后再打印age=7,此時(shí)age的值在內(nèi)存中是7)
		System.out.println("age=" + ++age);
		//先使用,再自加(此時(shí)age的值在內(nèi)存中是7,先打印age=7,然后age再自加1,所以此時(shí)打印age=7,但是其實(shí)此時(shí)age的值在內(nèi)存中已經(jīng)是8了)
		System.out.println("age=" + age++);
		//此時(shí)打印出來(lái)age=8
		System.out.println("age=" + age);
		//先自加,再使用(此時(shí)age在內(nèi)存中的值是8,先自加1,age的值在內(nèi)存中就變成了9,然后再打印age,所以此時(shí)打印出9)
		System.out.println(++age);
		//先使用,再自加(此時(shí)age在內(nèi)存中的值是9,先打印出9,然后age再自加1,自加完后,此時(shí)age在內(nèi)存中的值是10)
		System.out.println(age++);
		//此時(shí)打印age是10
		System.out.println(age);
                
                int index = 0;
                String[] names = {"令狐沖", "張無(wú)忌", "韋小寶", "楊過(guò)", "段譽(yù)", "喬峰"};
        //        System.out.println(names[index++]); //打印出令狐沖
        //        System.out.println(names[index]);   //打印出張無(wú)忌   
    //以上兩行代碼注釋掉,那么以下兩行代碼,就會(huì)打印出張無(wú)忌
    //如果以上兩行代碼沒(méi)有注釋掉,那么以下兩行代碼,就會(huì)打印出韋小寶
                 System.out.println(names[++index]); //打印出張無(wú)忌
                System.out.println(names[index]);  //打印出張無(wú)忌
 }
}

PS:下面看下Java中i++和++i的區(qū)別

  • 說(shuō)來(lái)慚愧,從事開發(fā)工作也有一年時(shí)間了,然而在今天的一個(gè)業(yè)務(wù)邏輯里突然發(fā)現(xiàn)原來(lái)我對(duì)i++和++i都沒(méi)有理解,或者說(shuō)我之前的理解是錯(cuò)誤的。這對(duì)于一個(gè)有追求的程序猿是不能容忍的。知道之后,迅速惡補(bǔ)學(xué)習(xí),現(xiàn)在算是徹底的理解了。
  • 這篇文章可能對(duì)于大神沒(méi)什么用,畢竟技術(shù)層次不夠,大神追求的都是思想層面的東西。但對(duì)于一些初學(xué)者的話還是有一些用的,或者有跟我一樣的已經(jīng)入行一些時(shí)間了,但對(duì)這個(gè)理解模糊的(IT界估計(jì)也就我一個(gè)了 ~~捂臉!)都可以參閱學(xué)習(xí),我寫的比較詳細(xì),相信只要你看,就絕對(duì)會(huì)有收獲

1, i++ 和++i


在區(qū)分這兩個(gè)之前,我們先來(lái)了解一下它們的運(yùn)算規(guī)則

int i=1,a=0;

* i++ 先賦值在運(yùn)算,例如 a=i++,先賦值a=i,后運(yùn)算i=i+1,所以結(jié)果是a==1
  * ++i 先運(yùn)算在賦值,例如 a=++i,先運(yùn)算i=i+1,后賦值a=i,所以結(jié)果是a==2

看下面程序運(yùn)行結(jié)果,有圖有真相:

public class Test3 {
	public static void main(String[] args) {
		int i=1,a=0;
		System.out.println("a=i++===> "+(a=i++));//1
		//System.out.println("a=++i===> "+(a=++i));//2
	}

}

這里寫圖片描述
這里寫圖片描述

這里算是基本了解了,那么我們?cè)趤?lái)一個(gè)練習(xí)讓你更加的理解它們之間的關(guān)系

public class Test3 {
	public static void main(String[] args) {	
		int y=0;	
		int i =0;
		y=++y;
		y=++y;
		y=++y;
		y=++y;
		y=++y;
		System.out.println("y="+y);
		i=i++;
		i=i++;
		i=i++;
		i=i++;
		i=i++;
		System.out.println("i="+i);
		
	}

}

附上結(jié)果

這里寫圖片描述

是不是感覺有點(diǎn)轉(zhuǎn)過(guò)轉(zhuǎn)彎來(lái),如果有這種感覺,那么恭喜你(找到跟我之前癥狀相同的了,哈哈),你也得好好理解理解了。下來(lái)是我添加上詳細(xì)注釋的代碼。

public class Test3 {
	public static void main(String[] args) {
		int y=0;	
		//注意"="是賦值,"=="才是相等
		//這里的y=++y 是先運(yùn)算在賦值,先運(yùn)算++y完了后y的值是1,然后在賦值給原來(lái)等于0的y
		y=++y;// y==0,++y==y+1; 結(jié)果y=++y == y+1 == 0+1 ==1
		y=++y;// y==1,++y==y+1; 結(jié)果y=++y == y+1 == 1+1 ==2
		y=++y;// y==2,++y==y+1; 結(jié)果y=++y == y+1 == 2+1 ==3
		y=++y;// y==3,++y==y+1; 結(jié)果y=++y == y+1 == 3+1 ==4
		y=++y;// y==4,++y==y+1; 結(jié)果y=++y == y+1 == 4+1 ==5
		System.out.println("y="+y);//5
		int i =0;
		// i==0,i++==0; 結(jié)果i=i++ == (記住先賦值后運(yùn)算)i=i,i=i+1(由于是i++運(yùn)算這里我們輸出的i只取先賦值的結(jié)果也就是i=i)
		i=i++;
		i=i++;
		i=i++;
		i=i++;
		i=i++;
		System.out.println("i="+i);//0
		System.out.println("================");//1
		
		
	}

}

總結(jié)

到此這篇關(guān)于java中的前++和后++的區(qū)別示例代碼詳解的文章就介紹到這了,更多相關(guān)java 前++和后++內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)flappy Bird小游戲

    java實(shí)現(xiàn)flappy Bird小游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)flappy Bird小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • IDEA利用自帶Axis工具和wsdl文件反向生成服務(wù)端客戶端代碼圖文詳解

    IDEA利用自帶Axis工具和wsdl文件反向生成服務(wù)端客戶端代碼圖文詳解

    這篇文章主要介紹了IDEA利用自帶Axis工具和wsdl文件反向生成服務(wù)端客戶端代碼詳細(xì)流程,在這里小編使用的是idea2021.1最新開發(fā)工具,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-05-05
  • 在eclipse中修改tomcat的部署路徑操作

    在eclipse中修改tomcat的部署路徑操作

    這篇文章主要介紹了在eclipse中修改tomcat的部署路徑操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • java HttpClient傳輸json格式的參數(shù)實(shí)例講解

    java HttpClient傳輸json格式的參數(shù)實(shí)例講解

    這篇文章主要介紹了java HttpClient傳輸json格式的參數(shù)實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-01-01
  • Java中的CopyOnWriteArrayList原理詳解

    Java中的CopyOnWriteArrayList原理詳解

    這篇文章主要介紹了Java中的CopyOnWriteArrayList原理詳解,如源碼所示,CopyOnWriteArrayList和ArrayList一樣,都在內(nèi)部維護(hù)了一個(gè)數(shù)組,操作CopyOnWriteArrayList其實(shí)就是在操作內(nèi)部的數(shù)組,需要的朋友可以參考下
    2023-12-12
  • SpringBoot集成 Prometheus進(jìn)行高效監(jiān)控的實(shí)現(xiàn)

    SpringBoot集成 Prometheus進(jìn)行高效監(jiān)控的實(shí)現(xiàn)

    Prometheus作為一個(gè)開源的監(jiān)控和告警工具,以其強(qiáng)大的數(shù)據(jù)采集、存儲(chǔ)和查詢能力,受到了眾多開發(fā)者的青睞,本文主要介紹了SpringBoot集成 Prometheus進(jìn)行高效監(jiān)控的實(shí)現(xiàn),感興趣的可以了解一下
    2024-07-07
  • mybatis如何返回某列的最大值

    mybatis如何返回某列的最大值

    這篇文章主要介紹了mybatis如何返回某列的最大值操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • java實(shí)現(xiàn)dijkstra最短路徑尋路算法

    java實(shí)現(xiàn)dijkstra最短路徑尋路算法

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)dijkstra最短路徑尋路算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 解決IDEA Maven下載依賴時(shí)報(bào)錯(cuò)ERROR - #org.jetbrains.idea.maven - Cannot reconnect.

    解決IDEA Maven下載依賴時(shí)報(bào)錯(cuò)ERROR - #org.jetbrains.ide

    這篇文章主要介紹了解決IDEA Maven下載依賴時(shí)報(bào)錯(cuò)ERROR - #org.jetbrains.idea.maven - Cannot reconnect.問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • Java多線程模擬售票程序和線程安全問(wèn)題

    Java多線程模擬售票程序和線程安全問(wèn)題

    本篇文章給大家分享了Java多線程模擬售票程序和線程安全問(wèn)題的相關(guān)知識(shí)點(diǎn),對(duì)此有興趣的朋友可以參考學(xué)習(xí)下。
    2018-05-05

最新評(píng)論