关于java中char类型和int类型相加结果的面试题

Posted celtics-huha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java中char类型和int类型相加结果的面试题相关的知识,希望对你有一定的参考价值。

 

 技术图片

 

 运行结果为

3

51

C

故而总结了以下几点:

举例子说明一下。

System.out.println(‘0‘+‘A‘);// 48+65 = 113 未指定类型--输出int

System.out.println((char)(‘0‘+‘A‘));// q 强转char --输出char

System.out.println(10+‘A‘); //75 未指定类型--输出int

System.out.println((char)10+‘A‘); //75 未指定类型--输出int

System.out.println((char)(10+‘A‘)); //K 强转char --输出char
System.out.println((char)((char)10+‘A‘)); //K 强转char --输出char
也就是说,结果未指定类型的情况,默认输出的是码值(ASCII码表对应的值),即int类型.
如果指定了类型,输出的就是那个类型.比如char.
我的总结:
字符参与运算,其实是拿字符对应的码表中的数字进行运算的,
如果本身不是字符,而是int类型或char类型的数字(默认为码值,比如 char a = 10, int a = 10;这里的10都会默认为码值10),则就先转换其他字符对应的码值再计算结果,找到结果对应的字符.如果类型为char型,则输出字符,如果不是,则输出结果码值.

以上是关于关于java中char类型和int类型相加结果的面试题的主要内容,如果未能解决你的问题,请参考以下文章

char类型与int类型相加

Java中不同类型数据是不是可以运算?例如:单精度和int类型是不是可以直接相加?

java 中Integer 类型为啥能相加?

java 详细介绍short,byte,char三种类型,我分不清

java的long类型与float相加出错问题

DELPHI中byte类型和char类型区别?