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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

        * System.out.println("hello"+'a'+1);
        * System.out.println('a'+1+"hello");

7 个回复

倒序浏览
从左往右运算  第一个输出 helloa1
第二个输出 bhello  
输出应该是这样
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
liudan 发表于 2016-12-5 08:33
从左往右运算  第一个输出 helloa1
第二个输出 bhello  
输出应该是这样

第二个答案不对吧,是98hello
回复 使用道具 举报
应该是java的自动类型提升,char类型无法加一,就转换为unicod码表加一。
回复 使用道具 举报
Lee_Hoon_Leong 发表于 2016-12-10 10:59
应该是java的自动类型提升,char类型无法加一,就转换为unicod码表加一。

至于'a'+1结果是98而不是b。因为在Java中char占了两个字节而int占了四个字节,会自动向上提升类型,所以先转换为int值后再做运算,也可以向下强转型(char)('a'+1)让其以字符的形式输出。而String字符串是引用数据类型,自动类型提升只针对于基础数据类型
回复 使用道具 举报
看不懂楼主知道答案了没
回复 使用道具 举报
回复 使用道具 举报
字符串在前 有加号连接以字符串连接  第二个就是  计算 然后输出了
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马