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

java中i和i的區別

發布時間:2022-11-19 18:47:55

1. 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左值是不可賦值的;而作為臨時對象的右值可能允許被賦值。左值與右值的根本區別在於是否允許取地址&運算符獲得對應的內存地址。

2. java中i; i+ ;+i ;i++ ;++i分別有什麼不同

i是變數
i++ 是後自增,就是先用i再增1 【每次增1,下同】
++i 是前自增 就是先增1再用i
(同樣的還有--i,i--)
至於i+,+i這個 還真沒看到過···倒是看到過i+1,2+i這類的表達式啊

如:
int i = 5;//申明一個變數並賦值為5
System.out.println(i);//列印i,結果為5
System.out.println(i++);//後自增,所以這里輸出5 然後在將i增1 使i=6
System.out.println(i);//輸出6
System.out.println(++i);//前增,先自增再調用,所以輸出7

3. 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

4. Java中i++和++i的區別和各自的意義詳細點

因為i
=
i
++;
的執行順序是
1.將=右邊int
i
=
0的值賦給左邊的i--->i
=
0
2.右邊的i執行自加,但並沒有把1值賦給左邊的i(也就是說實際中雖然i的值為1,但並沒有賦給內存中的i
所以system.out.println("i
=
"
+
i);
中的i的值並沒有改變大小
3.如果你將i
=
i
++;
改成i
=
++i;
就是1

5. 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++,是先執行賦值再+。

6. 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++速度更快

7. java語言中i--和--i有什麼區別

後置加加是先參與其餘運算,然後自己加1,前置是反的

8. 在java中 i++和++i有什麼區別

i++是先讓i的值+1;然後在運算,++i是先運算;然後再讓i的值+1.

以下列的Java代碼為例:

{int i=0; int j=i++;}

{int i=0; int z=++i;}

運算過後,j=0;表明i++是指先把i賦值給j然後再自身加1;運算過後,z=1;表明++i是指先自身加1後賦值給z;總之++號在後面的意思是先賦值然後自身加1;++在前面的是先自身加1後賦值。

「++」是java單目運算符,可以放在操作元之前,也可以放在操作元之後。操作元必須是一個整型或浮點型變數。自增運算符的作用是使變數的值增1。

放在操作元前面的自增運算符,會先將變數的值加1,然後再使該變數參與表達式的運算。放在操作元後面的自增運算符,會先使變數參與表達式的運算,然後再將該變數的值加1。

(8)java中i和i的區別擴展閱讀

Java的其他運算符:

1、比較運算符

比較運算符屬於二元運算符,用於程序中的變數之間,變數和自變數之間以及其他類型的信息之間的比較。比較運算符的運算結果是boolean型。當運算符對應的關系成立時,運算的結果為true,否則為false。比較運算符共有6個,通常作為判斷的依據用於條件語句中。

2、賦值運算符

賦值運算符以符號「=」表示,它是一個二元運算符(對兩個操作數作處理),其功能是將右方操作數所含的值賦給左方的操作數。

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

i++和++i都是對i進行+1的操作,不同的是i++是在i值被使用後才+1而++i是i值在被使用之前就+1;拿你的例子進行說明
先分析count=(i++)+(i++)+(i++);運算是從左向右的,由於i++是在i值被使用後才+1所以第一個括弧的(i++)應該為3,但是i的值變成了4,當運算第二個括弧(i++)此時i的值是4所以第二個括弧的(i++)為4但是此時i的值變成5了,類推第三個括弧的(i++)為5但是此時i的值變成了6;也就是說該等式變為count=(3)+(4)+(5)=12此時i的值為6.
在分析int
j=3;
count=(++j)+(++j)+(++j);
++j的操作順序是先將j加1後在進行操作,所以第一個括弧(++j)先將j加1此時j變為4,所以括弧的值相當於4;第二個括弧將j加1後j的值變為5;第三個括弧將j加1後j的值變為6所以等式相當於
count=(4)+(5)+(6)此時j的值是6
綜上i與j
相當。簡單的說i++就是先使用的i的值然後再加1,而++i就是先將i+1,然後使用i改變後的值。
希望你能採納

10. java中++i和i++的區別

i++ 和 ++i的基本功能是相同的,都是對變數i進行自增1運算,從功能上講相當於i =i+1 ;
++運算符分為前綴++和後綴++,如i++中的++就是後綴運算符,++i中的就是前綴運算符,兩個的區別在於:
前綴++,先使用變數,再進行變數自增1
後綴++,先進行變數自增1,再使用變數
如:
示例代碼1:
int i=0;
while( i++ < 5 ) //先用i的原值與5比較,比較完成後,無論結果是真還是假,都要再進行i=i+1運算
{
System.out.print( i+ " ");
}
這個循環運行5次,輸出 1 2 3 4 5,最後的i值是6
示例代碼2:
int i=0;
while( ++i < 5 ) //先進行i=i+1運算,然後用i的新值與5比較,判斷結果是真還是假
{
System.out.print( i+ " ");
}
這個循環運行4次,輸出 1 2 3 4,最後的i值是5

閱讀全文

與java中i和i的區別相關的資料

熱點內容
超解壓兔子視頻 瀏覽:20
單片機怎麼測負脈沖 瀏覽:170
魅族備份的app在哪裡 瀏覽:736
java倒三角列印 瀏覽:112
通達信回封板主圖源碼 瀏覽:44
戰地什麼伺服器 瀏覽:299
安卓為什麼老是閃退怎麼辦 瀏覽:803
樂高機器人的編程軟體下載 瀏覽:223
工作中怎麼使用加密狗 瀏覽:735
雲伺服器的後台找不到 瀏覽:98
php逐行寫入文件 瀏覽:912
javaoracleweb 瀏覽:440
京東加密碼怎麼弄 瀏覽:467
單片機程序員培訓 瀏覽:992
PHP商城源代碼csdn 瀏覽:636
怎麼把電腦里文件夾挪出來 瀏覽:693
java流程處理 瀏覽:685
ftp創建本地文件夾 瀏覽:660
腰椎第一節壓縮 瀏覽:738
xp去掉加密屬性 瀏覽:117