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

定义常量的问题

http://img1.sycdn.imooc.com//59d350f90001e8fc07210184.jpg为什么定义这两个常量的时候,如果都是char类型,输出就是错误的。但是只要把其中一个改成String就可以输出正确,这是为什么

http://img1.sycdn.imooc.com//59d350f90001e70308180175.jpg


正在回答

2 回答

因为在java中字符是以Unicode的形式存储的,char只能储存一个字节的字符,而汉字则占用一个以上的字节(好像是两个),所以用char来存储会报错,而String则就没有这个限制。

0 回复 有任何疑惑可以回复我~
#1

阿柠姑娘 提问者

刚刚查了一下。char数据类型以Unicode形式也是可以存放汉字的。而且上一节的学习里也有用到 char sex='男';举例子。不太清楚为什么这个地方如果使用两个char就不可以了= =
2017-10-03 回复 有任何疑惑可以回复我~
#2

十二楼中月自明 回复 阿柠姑娘 提问者

抱歉,刚刚没有看清楚问题,对查看了方法的源码,发现对char类型使用‘+’的运算符会输出int类型的数据,‘+’运算符两边必须有String类型的字符串才可以正常输出。
2017-10-03 回复 有任何疑惑可以回复我~
#3

阿柠姑娘 提问者 回复 十二楼中月自明

噢噢,这样啊,明白啦。谢谢~
2017-10-03 回复 有任何疑惑可以回复我~

还运行成功,教的都不一样,sex=女还用单引号???????

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165161    人
  • 解答问题       17581    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

定义常量的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信