关于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类型相加结果的面试题的主要内容,如果未能解决你的问题,请参考以下文章
Java中不同类型数据是不是可以运算?例如:单精度和int类型是不是可以直接相加?