簡體   English   中英

Java中的添加順序

[英]Order of addition in Java

Java以什么順序將數字加上a + b + c
a + (b + c)還是(a + b) + c

我剛剛學習了浮點表示是如何工作的,並完成了一個練習,該練習解釋了如果a, b, cfloat ,當我以上面寫的不同方式加起來時,它們可能產生不同的結果。
這讓我想知道Java實際上做了哪種方式?

加法運算符是左關聯的,這意味着a + b + c的評估與(a + b) + c

JLS,第15.18節規定:

加法運算符具有相同的優先級,並且在語法上是左關聯的(它們從左到右分組)。

從左到右(jls-15.18),除非你添加括號來改變評估的順序。

static int a() {
    System.out.println("a");
    return 1;
}

static int b() {
    System.out.println("b");
    return 1;
}

public static void main(String[] args) {
    System.out.println(a() + b());
}

輸出是

a
b
2

a + b + c的順序是(a + b) + c (左相關性)的順序。

暫無
暫無

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

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