[英]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.