看板 java 關於我們 聯絡資訊
※ 引述《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
archerlin:Java的char是以16位元的Unicode來代表的 ex:'a'=>97 10/18 03:39
archerlin:你在輸出時用了加法運算子,故會輸出十進位代碼相加總和. 10/18 03:41
Joybo:我突然想通了,謝謝你 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
puzi:看一下運算子的結合性和運算元的類型.. 09/30 21:44