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

Java 算法題:1 + 2 + '3' 結果為 54(字符 '3' 的 ASCII 碼 51)

     編輯:程式設計綜合問答

題目

System.out.println(1 + 2 + '3'); // 輸出 54

初學者困惑:以為會自動轉字符串拼接成 "33" 或 "123",實際輸出 54。

解析

  1. 單引號 '3' 表示 char 類型字面量,其值為字符 '3' 的 Unicode/ASCII 碼:51(十進制)。
  2. 左到右結合性:1 + 2 先計算 = 3 (int)。
  3. 數值提升:int + char → char 提升為 int (51) 參與加法。
  4. 結果:3 + 51 = 54 (int),println 輸出數字 54。

對比:雙引號 "3" (String)

System.out.println(1 + 2 + "3"); // 輸出 "33"
/* 解析:
1 + 2 = 3 (int)
3 + "3" → 觸發字符串拼接 → "3" + "3" = "33"
*/

關鍵規則表

表達式類型結果說明
'3'char51字符字面量,值為編碼
"3"String"3"字符串字面量
1 + 2 + '3'int54純數值運算
1 + 2 + "3"String"33"遇 String 觸發拼接
'a' + 1int98'a'=97

避坑指南

  • **單引號 = 字符 = 數值**,參與數學運算。
  • **雙引號 = 字符串**,觸發拼接,將左側操作數轉字符串。
  • 想輸出字符本身:System.out.println('3'); // 輸出 3 或 System.out.println((char)51);。
  • ASCII 表常用碼:'0'=48、'A'=65、'a'=97、' '=32、'\n'=10。

理解「字符字面量本質是整數」與「字符串拼接觸發規則」,是 Java 基礎語法必過關卡。

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