问题描述
System.out.println('u0000'+'u0000');为何输出是数字"u0000"和'u0000'有哪些区别以及+的用法本人刚学java
解决方案
解决方案二:
""这个表示String''这个表示char+有加号的意思,可以做算术运算还有连接符的意思,可以把要连接的东西调用toString后连起来
解决方案三:
那么char加char最后怎么不是char呢请推荐些资料
解决方案四:
引用2楼zhang4444zh的回复:
那么char加char最后怎么不是char呢请推荐些资料
u表示后面跟的是4位的16进制数,0000表示一个空格,而它的ascll码是0,两个char相加是加出ascll的值。。。建议看看计算机原理之类的。。。
解决方案五:
String用+表是字条串连接,而cha不支持这个符号,所以他会向上转型,转换成int,然后进行相加,所以结果就是数字
解决方案六:
字符是不能相加的,如果字符相加,会把它强制转换成该字符所对应的unicode的数字,然后两个数字相加如下面例字:'a'的unicode编码是97;'b'的编码是98a和b字符相加等于195了,这里面等于做了两次转换第一次,把字符转化成数字,进行相加,得到195然后把195转化成字符串,进行打印System.out.println((int)'a');println:97System.out.println((int)'b');println:98System.out.println('a'+'b');println:195System.out.println("a"+"b");println:ab
解决方案七:
byte,short,char,int之间的运算都会转成int来计算,这样相加之后就是一个int了
解决方案八:
''的东西表示字符类型,而'u0000'是一个常量,System.out.println()中输出的东西,会自动加上.toString(),而"+":若是两个数值型相加,则表示数学中的加号(+),若是两个字符串相加,则表示连接符号
解决方案九:
是两个char相加的
解决方案十:
不太明白看看组成原理吧
解决方案十一:
5楼正解