iT邦幫忙

0

為什麼是打x,而不是x++;另外想問內文的等於有什麼意義嗎

  • 分享至 

  • xImage

int x = 5;
System.out.println(x);
x++;
System.out.println(x);

為什麼()內是打x,而不是x++

System.out.println( 1 > 2); //大於
System.out.println( 1 < 2); //小於
System.out.println(5 == 5); //等於
System.out.println( 1 >= 2); //大於等於
System.out.println( 1 <= 2); //小於等於
System.out.println( 1 != 2); //不等於
//==============================
boolean boo = 1 >= 2;
System.out.println("boo: " + boo);

上面程式的=有什麼意思嗎?

看更多先前的討論...收起先前的討論...
iT邦新手 4 級 ‧ 2024-04-09 13:37:09 檢舉
看到這問題,我還真不知道怎麼回答XD有請大老來解釋好了
harry731 iT邦新手 3 級 ‧ 2024-04-09 14:14:44 檢舉
跑過程式了嗎?
自己有試過把x換成x++了嗎?
先自己親自試過一次不就知道了嗎?
還是說試跑會所費不貲???
建議可以先閱讀以下連結內的文章,看完應該都會有答案~
https://openhome.cc/zh-tw/java/syntax-abc/
懷念的良葛格
alex_xie iT邦新手 4 級 ‧ 2024-04-11 10:00:25 檢舉
你先去買一本書從第一頁慢慢翻起
boolean boo = 1 >= 2; => 把 1 >= 2 的結果賦予給型態為布林的變數boo
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
Darwin Watterson
iT邦好手 1 級 ‧ 2024-04-09 20:31:57
最佳解答

因為
x++ 是運算式 x=x+1 的縮寫
而 int x 中的 x 是變數

println(x)表示要印出『x變數本身』
println(x++)則是要印出『x++運算式本身的運算結果』
https://ithelp.ithome.com.tw/upload/images/20240409/20109107R4XAN2auLf.png
現在你可以進一步思考下為什麼印出的x++是6嗎?
如果印出++x則是7喔!
https://ithelp.ithome.com.tw/upload/images/20240409/201091075ZTfi0i5Fy.png


變數後接一個『=』通常是指該變數所在的記憶體給定等號後面的運算結果
我知道這樣說明很抽象,所以有請Chatgpt解答『boolean boo = 1 >= 2;』
https://ithelp.ithome.com.tw/upload/images/20240409/20109107uKvQA8PT9t.png

1
twtabc
iT邦新手 5 級 ‧ 2024-04-09 15:47:06

int x = 5;
意思是 建立一個 x 只能放整數變數, 賦予他 5 的數字

x++;
他其實是縮寫, 實際上行為是 x = x + 1

System.out.println(x);
意思是列印出 x 被賦予的值出來

所以看到有兩個 System.out.println(x);
只是想告訴你 x++ 過後跟原本的 x 值不同了
至於為什麼不放進去System.out.println(x++);
通常不會在print的地方做運算, 有一些放在裡面也會報錯

boolean boo = 1 >= 2;
意思是 建立一個 boo 只能放布林變數, 賦予他 1 >= 2 比較完的結果

4

有追根究底的心,很好。

再給你一些研究的課題好了

++x
x += x
x = x==x+1

去玩一下,變數的生態給與是很好玩的事,也是最基本的事

至於你說為何不用
System.out.println(x++)

這邊要考量程式語言能應用的做法。
還有程式判讀性的做法。

就正規來說。算是一種最終輸出。先不考量它能不能這樣做,它不該還有運算成本存在。
畢竟,那有很大的可能性會再被註解還是被刪掉。

所以,在程式的寫作上。判斷、運算、應用、輸出。如能不寫在一起就不要。
但這也不是有一定的絕對性

像是如果是以下的寫法

System.out.println(add(x))
function add(x){return x++}

這樣其實也可以算是輸出及運算分開處理的做法。
如果應用到物件的觀念。那要做的事情就可以更簡化。

總之,你先了解基本的運算符號的東西。
後期等你碰到物件或是函式類的東西。你可能會想問的東西更多了。

0
derek_lan
iT邦新手 2 級 ‧ 2024-04-10 11:26:09

樓主,加油

我要發表回答

立即登入回答