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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

高手指教:表达式10.4+”4.2″的结果是什么?

这道题我请教过一个学长,他的答案是返回String 类型”14.6.当时的态度也很肯定!
这道题是我从一本java习题集上看到的,后来我自己想了想,我自己的理解是,当+运算符两侧的操作数的类型不一致时,需要统一类型,这时就会发生类型转换。当一个操作数为原始数据类型,另外一个为字符串时,则基本类型的操作数要转换为等价的字符串,这时“+ ”不再是加运算符而是连接符,所以表达式10.4+”4.2″返回的结果是”10.44.2″。

其实我也是菜鸟一个,不知道我想的对不对,有会的高手指教一下,小女子不胜感激!

点评

建议你不要发这样的帖子,先在本机运行一下,然后再到百度上查阅有没有相关的问题,这样你还能学到很多知识,我以前就是这样做的,效果很棒  发表于 2013-3-9 08:38

8 个回复

正序浏览
百度上没有啊 大哥 你搜搜看看 昨天就找了
回复 使用道具 举报
LZ 理解的很正确  结果自己运行下就OK了
回复 使用道具 举报
哇。。。。是个女的。。。。
回复 使用道具 举报
lz你对了,说的没错,一般这种问题不要问,自己验证下就ok
回复 使用道具 举报
谢谢 指教...
回复 使用道具 举报
基本数据类型之间有一定的优先级顺序,在java中变量的优先级由低到高的排列顺序是:byte -  (short  ,   char)  -    int   -  long  -   float  -   double -String(非基本数据类型)
在运算是自动转型为运算中的最高优先级类型
回复 使用道具 举报
任何数据和字符串相加都是相连接
回复 使用道具 举报
你说没错了;10.4+”4.2″  与字符+都会提升为String型,所以就成了连接符,结果就成了10.44.2
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马