作者pcb001 (pcb001)
看板java
標題Re: [問題] 問一個很基礎的問題,關於char
時間Tue Sep 29 04:42:36 2009
※ 引述《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
1F:推 archerlin:Java的char是以16位元的Unicode來代表的 ex:'a'=>97 10/18 03:39
2F:→ archerlin:你在輸出時用了加法運算子,故會輸出十進位代碼相加總和. 10/18 03:41
3F:推 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
4F:推 puzi:看一下運算子的結合性和運算元的類型.. 09/30 21:44