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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 鲍跃超 初级黑马   /  2012-12-15 16:33  /  1637 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 鲍跃超 于 2012-12-15 16:34 编辑

看Integer文档的时候构造函数只能传Int和String两种类型的参数
Integer sInt = new Integer('S');
本来想传字符串S看看出什么错误,误操作输入了字符S。
但是编译通过,然后试着打印他的值,是ASCII码的83.
求解释?为什么接收字符的时候不报错误...

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1 神马都是浮云

查看全部评分

3 个回复

倒序浏览
'S'表示的就是S的是ASCII码值83,你传入之后的值就是S的ASCII码值83,所以打印出来的就是整形值83。

评分

参与人数 1技术分 +1 收起 理由
崔政 + 1

查看全部评分

回复 使用道具 举报
呵呵,确实打印的是ASII码值,但为什么可以传入呢?
原因很简单啦...
伙计,你还记得switch(key)吗?
key在1.6之前只能接收int类型,但为什么可以传入字符类型呢?哈哈...就是嘛 没有损失精度.,所以可以自动类型转换了..
char -->int 当然可以传递啦...
回复 使用道具 举报
黑马黄涛 发表于 2012-12-15 17:51
呵呵,确实打印的是ASII码值,但为什么可以传入呢?
原因很简单啦...
伙计,你还记得switch(key)吗?

这都是同一个道理...我觉得跟你举个例子更好理解吧...
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马