Re: [問題] 問一個很基礎的問題,關於char

看板java作者 (pcb001)時間16年前 (2009/09/29 04:42), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《Joybo (差很多)》之銘言: 最近重新接觸Java,可是有一個問題一直很不明白 假設: char a = 'a'; char b = 'b'; char c = 'c'; System.out.println(a + b + c); 為什麼輸出是294 而不是輸出abc呀? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.134.60.246

10/18 03:39,
Java的char是以16位元的Unicode來代表的 ex:'a'=>97
10/18 03:39

10/18 03:41,
你在輸出時用了加法運算子,故會輸出十進位代碼相加總和.
10/18 03:41

10/18 03:48,
我突然想通了,謝謝你
10/18 03:48
請問我的code如下 char a='a'; char b='b'; char c='c'; int z=1; System.out.println(a+z+b); System.out.println("a+z="+a+z); System.out.println("z+a="+z+a); 第一行結果是196 可是為什麼後2行卻是 a+z=a1 z+a=1a 呢?? 而不是它們的ASCII十進位數相加呢?? thanks!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.228.103.75

09/30 21:44, , 1F
看一下運算子的結合性和運算元的類型..
09/30 21:44, 1F
文章代碼(AID): #1AmH-zYL (java)
文章代碼(AID): #1AmH-zYL (java)