導航:首頁 > 編程語言 > java中i和i

java中i和i

發布時間:2023-06-04 18:45:07

java 中 i++和++i有什麼區別

i++

++i
都是表達式,都會有一個返回值。
不同的地方在於,i++返回的是加一之前的值,而++i是返回加1後的值。
int
i
=
1;
int
b
=
i++;
此時執行後i為2,b為1.
int
i=1;
int
b=++i;
執行後i為2,b為2.
傳言++i比i++速度更快

⑵ Java裡面i++和++i到底有什麼區別

1、賦值順序不同
++ i 是先加後賦值;i ++ 是先賦值後加;++i和i++都是分兩步完成的。
因為++i 是後面一步才賦值的,所以它能夠當作一個變數進行級聯賦值,++i = a =b,即 ++i 是一個左值;i++ 的後面一步是自增,不是左值。
形象的理解可以是i++先做別的事,再自己加1,++i先自己加1,再做別的事情。
2、效率不同
比如i=3,b=i++就是說b=3,完成之後讓i變成4,b=++i就是先讓i++變成4,然後b=4,其中++i比i++效率要高些。一般來說在循環域裡面,這兩者並沒有什麼很大的區別,但是要注意其生存周期,以及i值在程序流中的變化。
3、 i++ 不能作為左值,而++i 可以。
左值是對應內存中有確定存儲地址的對象的表達式的值,而右值是所有不是左值的表達式的值。一般來說,左值是可以放到賦值符號左邊的變數。
但能否被賦值不是區分左值與右值的依據。比如,C++的const左值是不可賦值的;而作為臨時對象的右值可能允許被賦值。左值與右值的根本區別在於是否允許取地址&運算符獲得對應的內存地址。

⑶ Java 中 i-- 和 --i 的實際應用

你這兩段代碼執行結果沒有任何區別,--i和i--的區別我寫個例子你看一下估計就明白了:

inti=10,a,b;
System.out.println("i="+i);
a=i--;
System.out.println("執行a=i--;//i="+i+",a="+a);
b=--i;
System.out.println("執行b=--i;//i="+i+",b="+b);

結果如下:

i=10
執行a=i--;//i=9,a=10
執行b=--i;//i=8,b=8

⑷ java中++i和i++的區別

無論在java還是在其他語言中,++i和i++的用法都是一樣的,主要差別體現在直接使用中:

++i是先對i進行自增操作然後再進行運算,如

inti=10;
System.out.println(++i);//這時輸出結果為11

i++是先進行運算然後再進行自增操作,如

inti=10;
System.out.println(i++);//這時輸出的結果還是為10

當然在不是直接進行運算的用法當中輸出的結果是一樣的,如:

inti=10;
i++;
System.out.println(i);//結果為11
i=10;
++i;
System.out.println(i);//結果為11

⑸ Java中的++ i和 i++ 的區別

java中的++ i和 i++ 和c語言中是一樣的

首先你要明確以一點是不管是 ++i 還是 i++,最後結果對於i來說都是一樣的,他的值都會加1。
eg:i=5;這兩個動作完成後i的值都變成6。

其次 對於他賦值給的那個變數就不一樣了。
eg:i=5;
a = ++i,這句執行完後a = 6,當然i=6;
但是
a = i++,這句執行完後a = 5,i=6;

看了上面的例子應該明白結果了吧。

理解的話對於a = ++i你可以理解先執行+,再賦值。而對於a = i++,是先執行賦值再+。

閱讀全文

與java中i和i相關的資料

熱點內容
php社區程序 瀏覽:976
python現在就業怎麼樣 瀏覽:304
php上傳目錄許可權設置 瀏覽:736
php合同檔案管理系統 瀏覽:366
tshock伺服器地址 瀏覽:877
php解析文件流 瀏覽:780
伺服器機箱銅片有什麼用 瀏覽:969
樂視手機如何使用原生態安卓 瀏覽:215
dns伺服器怎麼備份啊 瀏覽:865
蘋果退款app怎麼重新購買 瀏覽:655
U盤cmd檢查文件夾成文件 瀏覽:66
java路徑是否存在 瀏覽:338
新氧app上怎麼測臉型 瀏覽:787
用指令獲得命令方塊 瀏覽:427
流星蝴蝶劍怎麼輸入命令 瀏覽:681
keil有紅叉但是能編譯通過 瀏覽:498
賽拉圖的空調壓縮機多少錢 瀏覽:330
linux54 瀏覽:986
shutdown命令linux 瀏覽:250
編譯的輸入 瀏覽:511