A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© HM周一帆 中级黑马   /  2013-3-24 20:26  /  1443 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 ivan5544 于 2013-3-24 21:12 编辑

System.out.println('a') 和 System.out.println('a'+1)  为什么不同 ?求解答

点评

如果你的问题已经得到解决,请及时将主题改为[已解决],如果还有问题请继续追问,谢谢!  发表于 2013-3-24 21:01

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

5 个回复

倒序浏览
'' 为字符,第一个输出字符a,第二个由于字符占两个字节,整数默认为 int类型,所以转换为高精度的int,所以'a'会转换为97,故结果为98

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
上面的已经回答完毕了!
回复 使用道具 举报

System.out.println('a') 这句 是打印 char类型的 a

System.out.println('a'+1) 这句  ('a'+1) 是数算运算表达式,自动类型转换成int,'a'根据ASCII码表为97,所以结果为 98 。

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
这里主要弄清楚这个加号的意义就清楚了,Java中的加号有两个作用,一个是运算符,一个是字符串连接符, 如果是 System.out.println(“a”+1)结果就是a1(字符串连接符作用)。而System.out.println('a'+1)结果是98(运算符作用),字符a对应的数字是97,加1就是98

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1

查看全部评分

回复 使用道具 举报
楼上的都说的对,我就逛逛
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马