第三行会报错是因为char类型不能直接进行算术运算,即不能把两个char类型的变量相加。在这里,c1和c2都是char类型的变量,c1代表的是字符'a'的ASCII码值,即97;c2代表的是字符'0'的ASCII码值,即48。因此,c1 + c2实际上是把97和48相加,得到的结果是145,但是这个结果超出了char类型的取值范围(0~65535),因此会报错。如果要实现c1和c2的相加,可以将它们转换为int类型再相加,然后再将结果转换为char类型,如下所示:

char c1 = 97; char c2 = '0'; int sum = c1 + c2; // 将c1和c2转换为int类型再相加 char c3 = (char)sum; // 将相加的结果转换为char类型 System.out.println(c3); // 输出结果:'k'

java中的这段代码char c1 = 97;char c2 = 0;char c3 = c1 + c2;为什么第三行会报错

原文地址: http://www.cveoy.top/t/topic/B2L 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录