黑马程序员技术交流社区

标题: 帮忙解释下为什么是这个结果? [打印本页]

作者: aerkadiya    时间: 2013-5-15 18:05
标题: 帮忙解释下为什么是这个结果?
本帖最后由 aerkadiya 于 2013-5-16 22:35 编辑

class Test
{
        public static void main(String[] args)
        {
                char ch1='a';
                char ch2=80;
                char ch3='\n';
                char ch4='\070';
                char ch5='\u0050';
                System.out.print("ch1="+ch1+" "+"ch2="+ch2+ch3);
                System.out.println("ch4="+ch4+" "+"ch5="+ch5);
        }
}

运行结果:
ch1=a  ch2=P
ch4=8  ch5=P

作者: 王靖远    时间: 2013-5-15 18:24
双引号里面是字符串,单引号里面是字符
作者: 王靖远    时间: 2013-5-15 18:26
+号是字符串的连接符号 可以看成是字符串相加。例如"he"+"llo"相当于"hello"。
字符在ASCII码表中有对应的数 ,所以字符可以相加 例如A对应的是65 ,C对应的是67。 那么 'A'+'B'的运算结果就是132
作者: 8047107    时间: 2013-5-15 19:07
P和8是如何来的?
作者: 徐启坤    时间: 2013-5-15 20:16
ch2是以ascll码的方式定义的,80正好是p,所以ch2输出为p
ch3是换行符,输出结果就是换行了
ch4='\070'这是 八进制的Unicode编码
ch5='\u0050'这是 十六的进制Unicode编码




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2