针对老师解答提出的疑问
老师那条解答被采纳了不能回复,所以老师的解答贴在这里:
ch + 1:Java底层会先使用‘8’转换对应的ASCII码十进制的值进行加法运算,‘8’对应ASCII为56,56+1会得到57对应值。然后它可以自动转换为char类型,再和case进行匹配。
这个56+1=57是字符‘8’的加法加1位吗? 如果相加是整数型则不会将最后的结果57自动转换为char类型吧,需要强制类型转换才对吧
7
收起
正在回答
3回答
同学你好,你的理解是正确的,例如如下代码:
public static void main(String[] args) {
int ch=1;
int r=10;
switch(ch+'A') {
case 64:r=r+3;
case 65:r=r+5;
case 66:r=r+6;break;
default:
r=r+8;
}
System.out.println(r);
}输出结果:

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
1. Java 零基础入门
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星