在 Java 開發中,經常需要根據條件動態拼接字符串輸出。例如輸出線性方程式 Ax + By + C = 0 時,當 B 為正數時需要在前面加上 + 號,負數則自帶負號。
直接在字符串拼接中使用三元運算符 B > 0 ? "+" : "" 時,編譯器會報類型不匹配錯誤,因為三元運算符的兩個分支類型必須一致或兼容。
將三元運算符的結果顯式作為字符串參與拼接:
System.out.println("直線" + A + "*x" + (B > 0 ? "+" : "") + B + "*y" + C + "=0");
() 將三元運算符包裹,確保優先計算條件結果String 類型("+" 和 ""),避免類型衝突+ 號連接字符串時會自動調用 toString(),數值型變量會自動轉為字符串這種寫法避免了編寫冗長的 if-else 語句,代碼更加簡潔易讀,是 Java 中常見的條件輸出技巧。