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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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

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

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

点评

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

8 个回复

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