针对错误5,有一些疑问

针对错误5,有一些疑问

1,如果把case后面,表示char类型值的单引号去掉(也就是变为int类型),会报错吗?

2,如果报错,报错的原因是什么呢?

正在回答

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

3回答

同学你好,char类的字符7,转换为int类型值是55,并不是int类型的7。55加1后变成56,没有对应的case值,就会执行default,如:

http://img1.sycdn.imooc.com//climg/5eeec92109c4483305280375.jpg

同学可以自己测试一下。

祝:学习愉快~

好帮手慕小尤 2020-06-20 18:57:20

同学你好,1. 当case中没有break的时候会运行下一个case,直到遇见break才会退出。则在此段代码中,case ‘7’、case ‘8’中并没有break,导致计算数据不正确。如下图所示:

http://img1.sycdn.imooc.com//climg/5eedead409bd79b407330504.jpg

2. 关于第5条的描述存在一点歧义,老师已反馈,给您的学习带来不便,深感抱歉!

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕婉清2005302 #1
    把,'7' '8' '9',的单引号去掉以后,在运行程序,为什么会执行default? ch+1后不是变成了整型了吗?
    2020-06-20 22:20:26
  • 慕丝1539783 回复 提问者 慕婉清2005302 #2
    字符'7'转为int后不是数字7,你自己在swith前打印一下ch+1你就知道值为多少了。
    2020-06-21 00:17:19
好帮手慕小尤 2020-06-20 11:38:29

同学你好,将case后的内容修改为int类型,是可以的。如下图所示:

http://img1.sycdn.imooc.com//climg/5eed84ac091ffa0a05660169.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

  • 提问者 慕婉清2005302 #1
    Java选择结构 3-10 常见编译运行错误——排错必看 这个一节中的第5个错误,我没有看太明白能帮忙解释下吗?谢谢~
    2020-06-20 17:39:51
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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