java中的这段代码char c1 = 0;char c2 = 1;char c3 = c1 + c2;为什么第三行会报错
第三行会报错是因为char类型在Java中是用16位来表示的,它的取值范围是0~65535。在进行加法运算时,c1和c2会被自动转换成它们对应的ASCII码值48和49,然后进行加法运算,结果为97,但97超出了char类型的取值范围,因此会报错。要避免这种错误,可以将c1和c2转换成int类型再进行加法运算,最后再将结果强制转换成char类型,如下所示:
char c1 = '0';
char c2 = '1';
char c3 = (char)(c1 + c2);
原文地址: http://www.cveoy.top/t/topic/B2N 著作权归作者所有。请勿转载和采集!