码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-12-26 11:23:40      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:ascii码表   就是   system   com   转换   字符   --   java   参与   

 

 技术图片

 

 运行结果为

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类型相加结果的面试题

标签:ascii码表   就是   system   com   转换   字符   --   java   参与   

原文地址:https://www.cnblogs.com/celtics-huha/p/12100972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!