为什么在switch(ch+1)中ch+1的值是'9'而我用println(ch+1);输出的时候是57呢?
package com.imooc;
import java.util.Scanner;
public class 测试 {
public static void main(String[] args) {
char ch='8';
int r=10;
switch(ch+1) {
case '7':r=r+3;
case '8':r=r+5;
case '9':r=r+6;
break;
default:r=r+8;
}
System.out.println(r);
}
}
为什么在switch(ch+1)中ch+1的值是'9'而我用println(ch+1);输出的时候是57呢?
15
收起
正在回答
2回答
同学你好,ch + 1:Java底层会先使用‘8’转换对应的ASCII码十进制的值进行加法运算,‘8’对应ASCII为56,56+1会得到57对应值。比如
2、57的对应值就是字符'9'。所以在switch中就会得到9的值。
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星