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

熱點內容
均線衍生指標源碼設置 瀏覽:494
做精一張圖pdf 瀏覽:849
編程培訓小朋友 瀏覽:785
巴克球製作解壓 瀏覽:849
測量參數時接單片機的 瀏覽:114
手機音樂添加文件夾 瀏覽:544
百度智能雲b18怎麼刪除app 瀏覽:966
單片機中為什麼顯示找不到頭文件 瀏覽:149
iisweb伺服器如何重啟 瀏覽:836
微信沒有適配方舟編譯器 瀏覽:79
箍筋加密區梁的凈高 瀏覽:887
samp如何加入外國伺服器 瀏覽:893
保鮮膜解壓教學視頻 瀏覽:981
台達plc編程通訊管理軟體 瀏覽:405
優優pdf 瀏覽:799
程序員職業穿搭 瀏覽:255
程序員軟考大綱 瀏覽:17
命令窗口輸入後不滾動 瀏覽:639
C面向切面編程aop例子 瀏覽:369
windowsrar命令 瀏覽:380