首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Java 輸出語句中符號含義詳解:+、引號與字符串拼接

     編輯:程式設計綜合問答

問題背景

初學者常對 System.out.println("a=" + a) 中的雙引號、加號、變量拼接感到困惑:為什麼有時加號在變量前,有時在後?雙引號到底起什麼作用?

輸出示例圖

核心知識點

1. 雙引號 "" 表示字符串字面量

凡是雙引號包裹的內容,編譯器都視為 String 類型常量,例如 "a="、"hello"。

2. 加號 + 的雙重含義

場景行為示例
兩側均為數值數學加法1 + 2 → 3
任意一側為字符串字符串拼接"a=" + 1 → "a=1"

3. 拼接順序與括號的關鍵作用

int b = 1, c = 2;
System.out.println("b+c=" + b + c);   // 輸出 "b+c=12"  —— 從左到右依次拼接
System.out.println("b+c=" + (b + c)); // 輸出 "b+c=3"   —— 括號優先執行數學加法

完整可運行示例

package Test0831;

public class QTest_3 {
    public static void main(String[] args) {
        int a = 10;
        int b = 1, c = 2;
        String str = "helloWorld!";

        // 1. 字符串 + 基本類型 → 字符串
        System.out.println("a=" + a);           // a=10
        System.out.printf("a=%d%n", a);         // a=10 (格式化輸出)

        // 2. 字符串 + 字符串
        System.out.println("str=" + str);       // str=helloWorld!
        System.out.printf("str=%s%n", str);     // str=helloWorld!

        // 3. 關鍵對比:括號決定運算優先級
        System.out.println("b+c=" + (b + c));   // b+c=3  ✅ 正確
        System.out.println("b+c=" + b + c);     // b+c=12 ❌ 陷阱
        System.out.printf("b+c=%d%n", (b + c)); // b+c=3
    }
}

最佳實踐建議

  1. ✅ 輸出「標籤 + 變量」時,習慣加括號:"sum=" + (a + b)
  2. ✅ 複雜格式優先用 printf / String.format,可讀性更強
  3. ✅ 日誌框架(SLF4J/Log4j2)佔位符語法:log.info("a={}, b={}", a, b),避免無效拼接開銷

總結

Java 中 + 與雙引號的配合本質是「字符串拼接運算符重載」。掌握「左右操作數類型決定行為」與「括號改變優先級」兩大規則,即可輕鬆驾馭各種輸出場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved