栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么System.out.println()中的字符不增加?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么System.out.println()中的字符不增加?

首先,我假设是因为您说的是工作量的增加

System.out.println
,所以您确实指定了:

char char1 = 'a';

编辑

响应问题(

char1+1;
=>
char1 += 1;
)的更改,我看到了问题。输出是

a98b

之所以

98
显示,是因为char
a
被提升为一个
int
(二进制数字提升)加1。因此
a
变成97(的ASCII值
'a'
)和98个结果。

但是,

char1 += 1;
或者
char1++
不执行二进制数字提升,因此它可以按预期工作。

引用JLS,第5.6.2节“二进制数字推广”:

扩展原语转换(第5.1.2节)适用于转换以下规则指定的一个或两个操作数:

如果一个操作数的类型为double,则另一个将转换为double。

否则,如果其中一个操作数的类型为float,则另一个将转换为float。

否则,如果其中一个操作数的类型为long,则另一个将转换为long。

否则, 两个操作数都将转换为int类型

(强调我的)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/508135.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号