为了账号安全,请及时绑定邮箱和手机立即绑定

大神来看看呗 为什么用CHAR 输出连起来写就不对,而string就可以,是因为char的字节少的问题嘛

大神来看看呗 为什么用CHAR 输出连起来写就不对,而string就可以,是因为char的字节少的问题嘛

qq__6049 2017-01-08 14:44:04
public class HelloWorld{    public static void main(String[] args) { final char MSEX='男';    final char WSEX='女'; System.out.println(MSEX+WSEX); }}
查看完整描述

5 回答

?
bbug

TA贡献5条经验 获得超3个赞

String的+叫做连接符,其他的都叫加法运算符,char+char这是加法运算符,也就是以unicode码相加得出来的。String+String这里面是连接符,也就是将两个字符串连接起来。


Ps.如果+前后只要有一边出现String,这就是连接符,另一边的执行这个对象类型的toString方法,如果不是引用类型就用它包装类的方法,char的包装类是character(就是直接println的结果,毕竟println也是调用了toString方法)。运算顺序从左到右。多个+号且没括号的话,最左边的两个先按规则得出结果,如果String+char+char进行完第一次运算后是String+char。

查看完整回答
1 反对 回复 2017-01-08
?
Caballarii

TA贡献1123条经验 获得超629个赞

因为char之间做加法会先转成int值相加,而字符串相加就是连接字符串。

System.out.println(MSEX+""+WSEX);结果就一样了

查看完整回答
反对 回复 2017-01-08
  • 5 回答
  • 0 关注
  • 1495 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信