在java裡,x和x有什麼區別

2021-03-03 20:49:23 字數 3451 閱讀 2949

1樓:淑妃

x++和++x 兩者區別: 如果單獨作為一條語句的話,並沒有區別例如 x++;和++x;沒有任何區別 如果作為一個表示式;前者表示式值為x,然後x自身+1;後者表示式值x自身+1以後的x值, 例:x=1; a=x++;這裡a結果是1;x是2; x=1;a=++x; 這裡a結果是2, x結果也是2

++x和x++有什麼區別?

2樓:mei_陳先生

++x是x的值先自增1,再計算x的值。

x++是先計算x的值,再將x的值自增1。

舉例:int x=10;

system.out.println(x++);

system.out.println(x);

//第一個輸出10,  x++先在當前表示式中使用x的值,然後再將x的值自增1,第二個輸出11,因為經過上一條指令x自增了1。

int x=10;

system.out.println(++x);

system.out.println(x);

//第一個輸出11,  ++x 先將x的值自增1,然後再在當前表示式中使用x的值,第二個也是輸出11,經過上一條指令x自增了1。

拓展內容:

程式語言(programming language),是用來定義計算機程式的形式語言。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的資料,並精確地定義在不同情況下所應當採取的行動。

最早的程式語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的程式語言,而且每年仍有新的程式語言誕生。很多程式語言需要用指令方式說明計算的程式,而有些程式語言則屬於宣告式程式設計,說明需要的結果,而不說明如何計算。

程式語言的描述一般可以分為語法及語義。語法是說明程式語言中,哪些符號或文字的組合方式是正確的,語義則是對於程式設計的解釋。有些語言是用規格檔案定義,例如c語言的規格檔案也是iso標準中一部份,2023年後的版本為iso/iec 9899:

2011,而其他語言(像perl)有一份主要的程式語言實現檔案,視為是參考實現。程式語言俗稱「計算機語言」,種類非常的多,總的來說可以分成機器語言、組合語言、高階語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程式來執行的,程式是計算機要執行的指令的集合,而程式全部都是用我們所掌握的語言來編寫的。

所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的程式語言有兩種形式:組合語言和高階語言。

3樓:o默化

但他們是單獨的式子的時候 ,沒區別 但是當他們在其餘的表示式中的時候就有了

x++是先輸出x的值在進行自加

而++x是先自加然後在輸出x的值

4樓:仁秀雲考寅

哇晒這個問題看似很簡單啊~~我來縷一縷~~先給你解釋

x!=0

和!x==0

的不同第一個表示式:是將x和0直接進行值得對比,看是否相等;

第二個表示式:是將x取非,之後再將取非的結果與0進行比較;

這兩個表示式的運算過程不一樣,但是得出的結果是一樣的。

就好像a+b-c

和a-c+b

一樣,結果意義一樣,計算過程不一樣。。能明白嗎~~你要記住!=這個運算子和==,<=,>=是一類的,屬於關係運算子,是進行數值比較的,

他並不能看做是!(邏輯非)和=(賦值運算子)的組合,兩個!符號是不同意義的。

然後看最後一個問題

!x=0

這個表示式

就跟上兩個表示式完全不同了,

上面兩個是比較,然後得出true或者false的比較結果,這個是賦值表示式啦,是對x進行賦值啦,對x的值進行了改變。

不明白再問我吧~~

5樓:海邊出來的風陽

首先,兩個操作都是自增操作,都只能對變數進行該操作,但是兩種自增有些許區別

++x  先將x的值自增1,然後再在當前表示式中使用x的值。

x++  先在當前表示式中使用x的值,然後再將x的值自增1。

舉例:(1)int x=1;system.out.

println(x++);    //輸出1,  x++先在當前表示式中使用x的值,然後再將x的值自增1,system.out.println(x);     //輸出2,經過上一條指令x自增了1

(2)int x=1;system.out.println(++x);    //輸出2,  ++x 先將x的值自增1,然後再在當前表示式中使用x的值,system.

out.println(x);     //輸出2,經過上一條指令x自增了1。

x++實際上分為三個步驟 取值,計算,賦值 例如x=1,x++, 實際上jvm定義了一個快取值y y=x;取值(只運算一次) y=y+1;

計算 x=y;賦值 而++x,步驟不一樣, y=x;取值(只運算一次) x=y;賦值 y=y+1;計算 這就是書上說的x++是先計算後賦值 ++x是先賦值後計算。

拓展資料:

x前置後置++都是x+1的意思,前置++x是說先加1再賦值,如:int a = ++x; 結果是a=x+1;後置x++是說先賦值再加1,如:int b = x++;結果為b=x。

6樓:齊納擊穿

++x先對x做自加運算,在使用x的值。x++是先使用x的值再自加運算

7樓:匿名使用者

++x 是先運算,然後x再做加法;後者相反!

8樓:匿名使用者

有很大區別!!!!!

9樓:小男孩白鯊

x++是先

取值再自增

++x是先自增再取值

這種寫法的效率和x=x+1 ; x+=1; 相比是最高效的,直接取x的記憶體地址 然後自增。效率最低的是x=x+1 需要先取右側x的地址,然後+1 再去左側x地址,將右值傳遞給左值(編譯器不知道兩個x是同一個x)

java中"+x+"是什麼意思有什麼作用

10樓:劉宇飛

首先回答作用 你這裡system 輸出中 把"score["+x+"] = "這個整體當成一個字串去輸出 如果你不弄這幾個 「+x+」的話 那麼 你的輸出效果是 這樣

這顯然不是 你想要的效果

因為 你這裡 需要y引用x 這個變數動態輸出所以 必須 加「+x+」

11樓:展翅90後

"score["+x+"]中的+x+是為了連線字串同時把陣列下標動態輸出,結果就會是

score[0]=91

score[1]=92

score[2]=93

score[3]=94

score[4]=95

score[5]=96

12樓:匿名使用者

你一半一半看,前兩個引號是一對,後兩個引號是一對,加號只起到字串拼接作用

Python 2 x和3 x有什麼區別

當python 2.0於2000年問世時,該語言還不太流行。隨著越來越多的開發人員開始接受並嚴肅地使用它,語言中的缺陷變得更加明顯,但如果沒有重大變化,它們就無法修復。當python 3.0於2008年首次推出時,引入了一些重大更改,這些更改帶來了一些新功能和改進,但該語言與python 2.x不相...

x 43a和x 37b有什麼區別

這兩個沒什麼可比性。1 x 43a以超燃衝壓發動機作為動力,屬於吸氣式推進,仍是從大氣中獲取氧化劑 x 37b以火箭發動機作為動力,自帶氧化劑,還是屬於傳統航天器。不過,x 37b不同於傳統航天器,它可能同時具備了大範圍機動變軌 再入大氣層 精確導航返回 重複使用的能力。2 x 43a仍屬於大氣層內...

與 x有什麼區別

docx檔案比doc檔案所佔用空間更小。docx格式的檔案本質上是一個zip檔案。將一個docx檔案的字尾改為zip後是可以用解壓工具開啟或是解壓的。事實上,word2007的基本檔案就是zip格式的,他可以算作是docx檔案的容器。docx 格式檔案的主要內容是儲存為xml格式的,但檔案並非直接儲...