关于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型,则输出字符,如果不是,则输出结果码值.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM