A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 鲸鱼先生. 于 2014-10-19 01:06 编辑
  1. int a = 2;
  2.                 char b = '5';
  3.                 char c = (char)(a + b);
  4.                 System.out.println(c);
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1 赞一个!

查看全部评分

12 个回复

倒序浏览
为什么得7,不是25呢! 不是起连接作用吗?
回复 使用道具 举报
这个你就不懂了吧~   
你知道ASCII码吗?

键盘上的每一个键都在内存中有自己二进制的表现形式~7的键在电脑里就是55 。之后再将int的值和char的值进行运算,再强转成char之后就找到键盘上的7了。

你会调试的话,你可以试试分开写,像这样:
                int a = 2;
                char b = '5';
                int i = (a + b);
                char c = (char)i;
                System.out.println(c);
你就能看明白了~

或者你反过来写:
//                char c2 = '7';
//                int i = c2;
//                System.out.println(i);

这样 你试试~

评分

参与人数 1技术分 +1 收起 理由
敏敏好学 + 1 加油

查看全部评分

回复 使用道具 举报 1 0
PinkDay 发表于 2014-10-19 00:07
这个你就不懂了吧~   
你知道ASCII码吗?

看不懂 哪来的55啊?
回复 使用道具 举报
给你代码了  你调试看看~那个a+b我先放在int i 里接收 之后再转成char了啊  不就是55嘛~ 你不知道ASCII啊
回复 使用道具 举报
额  好像我说的不全啊  但是我只知道这些~
回复 使用道具 举报
PinkDay 初级黑马 2014-10-19 00:32:14
7#
围观好了~
回复 使用道具 举报
连接的是字符串,char和int都是基本数据类型,两者用+相连其实是将char字符对应的ASCII值和int相加,char字符'5'对应的ASCII码值为53,加上2等于55,而55对应的ASCII表中的char字符为7
回复 使用道具 举报
戏言丶 发表于 2014-10-19 00:55
连接的是字符串,char和int都是基本数据类型,两者用+相连其实是将char字符对应的ASCII值和int相加,char字 ...

感觉2的ASC值是50+5也可以奥,感谢,已经理清楚了,我终于可以睡觉了!
回复 使用道具 举报
csf62615 来自手机 中级黑马 2014-10-19 01:50:57
10#
果然是好学生,不弄明白不睡觉
回复 使用道具 举报
不是,char和int类型做运算会变成int类型
回复 使用道具 举报
嗯,学习了
回复 使用道具 举报
鲸鱼先生. 发表于 2014-10-19 01:06
感觉2的ASC值是50+5也可以奥,感谢,已经理清楚了,我终于可以睡觉了!

当然可以!它们只是相差3,无论在作为int类型,还是在ASCII编码表中都是酱紫!“+”一定要是作为连接号使用,你可以考虑基本数据类型以外的,比如字符串,System.out.println(“2”+5+“”)。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马