故事背景
一座普普通通的小屋里,住着大头儿子、小头爸爸和围裙妈妈。在他们普普通通的生活中,总是响起充满欢乐的笑声。最温暖的家又成了他们每个人的爱的源泉。
《大头儿子和小头爸爸》是孩子居首(大头),妈妈居中,爸爸最末(小头);爸爸主外,妈妈主内(围裙),他们是中国现代家庭教育典型的缩影。
java中的大头儿子和小头爸爸
java中也有一对冤家对头,他们就是字符char和字符串String。来看看他们的表现吧:
System.out.println("h"+"i");System.out.println('h'+'i');
会打印出什么呢?结果可能出乎你的意外:
hi209
为什么会出现209这个结果呢?
编译器在计算常量表达式'h'+'i'时,是通过我们熟知的拓宽原始类型转换将两个具有字符型数值的操作数('h'和'i')提升为int 数值而实现的。从char 到int 的拓宽原始类型转换是将16 位的char 数值零扩展到32 位的int。对于'h',char 数值是104,而对于'i',char 数值是105,因此表达式'h'+'i'等价于int常量104 + 105,或209。
有三种方式避免出现char的连接问题。第一种最简单:
System.out.println("" + 'h' + 'i');
第二种:使用函数
System.out.printf("%c%c