关于这道题

关于这道题

我想请问下 这里 

ch + 1 不应该得到的是 “81”这个字符串吗?

所以结果是在default运行得到 18?’

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

如果是字符串"8",字符串+1 会把1自动转为字符串,变为“81”。但是本题'8'是个字符,不是字符串。字符+1会自动把字符'8'转为int型的56,再加1,结果为57。switch的时候,也会把case后面的字符自动转为int进行比较。

好帮手慕小脸 2020-06-07 10:12:01

同学你好,题目中switch(ch+1) 最终输出为16的原因是,ch+1是先把ch类型转换为整型,然后再加1。然后在switch语句中Java会为它自动转换为char类型,再和case进行匹配‘9’。所以最终输出为16

祝学习愉快~

  • “然后在switch语句中Java会为它自动转换为char类型” 整型不会自动转为char(需要强制转换),只有char自动转为整型后比较。
    2020-06-07 17:13:38
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师