作者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