簡體   English   中英

Java:帶括號的整數加法

[英]Java: Addition of integers with parentheses

考慮以下兩行代碼:

System.out.println((1 + (1 - 1)) / 2);
System.out.println(1 + (1 - 1) / 2);

這是我得到的輸出:

0
1

為什么會這樣呢? Java算術遵循PEMDAS規則嗎?

我沒有看到這個問題,您的代碼確實遵循PEMDAS。 唯一的問題是您沒有得到0.5,因為您使用的是整數除法。 嘗試這個:

System.out.println((1 + (1 - 1)) / 2.0);
System.out.println(1 + (1 - 1) / 2.0);

是的,它遵循PEMDAS規則,並且還會截斷答案(保留小數位后的數字,不舍入)。

第一個是(1 + 0)/2 = 1/2 ,這是因為您正在使用整數,所以您得到0

第二個是1 + 0/2 = 1 + 0 = 1 ,得出1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM