導航:首頁 > 編程語言 > 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相關的資料

熱點內容
ipad解壓專家怎麼解壓qq郵箱文件 瀏覽:251
php712安裝 瀏覽:448
python遠程桌面控制 瀏覽:215
操作系統scan演算法 瀏覽:11
伺服器板塊有什麼龍頭 瀏覽:74
我的世界伺服器成員怎麼開創造 瀏覽:660
程序員鄭州買房哪個區好 瀏覽:203
程序員發怒 瀏覽:823
安卓機看視頻怎麼沒有小窗口 瀏覽:456
minecraft伺服器怎麼布置 瀏覽:306
怎麼把安卓的東西轉到已激活蘋果 瀏覽:852
停止服務doss命令 瀏覽:877
u盤占內存但該文件夾為空 瀏覽:612
伺服器怎麼更換重生點 瀏覽:34
收費api調用平台源碼 瀏覽:647
安卓怎麼自檢病毒 瀏覽:560
布卡雲伺服器 瀏覽:770
程序員是怎麼做系統的 瀏覽:745
燕窩溯源碼最大加工廠 瀏覽:939
黑馬程序員第28集 瀏覽:487