簡體   English   中英

Java中帶有乘法,減法和除法的運算順序?

[英]Order of operations with multiplication, subtraction, and division in Java?

下面是代碼,我想知道為什么它給出的輸出是2.0而不是0.0

class Main {
  public static void main(String[] args) {
    double x = 5*4/2 - 5/2*4;
    System.out.println(x);
  }
}

因為5/2是2而不是2.5。 5和2是整數,並且/運算符生成int。

整數除法會截斷任何小數位。 您可能期望5/2 * 4等於10,但實際上是8。

可以通過這樣寫數字來解決: double x = 5.0*4.0/2.0 - 5.0/2.0*4.0;

簡單地將結果存儲為double並不強制實際算術將值視為double。

您正在使用整數。 所以5/2 5/2*4等於8。

暫無
暫無

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

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