黑马程序员技术交流社区

标题: 求:表达式10.4+”4.2″的结果是什么? [打印本页]

作者: 小丑的媳妇2    时间: 2013-3-8 23:50
标题: 求:表达式10.4+”4.2″的结果是什么?
高手指教:表达式10.4+”4.2″的结果是什么?

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

其实我也是菜鸟一个,不知道我想的对不对,有会的高手指教一下,小女子不胜感激!
作者: 张卫刚    时间: 2013-3-9 00:11
你说没错了;10.4+”4.2″  与字符+都会提升为String型,所以就成了连接符,结果就成了10.44.2
作者: 何旭程    时间: 2013-3-9 00:14
任何数据和字符串相加都是相连接
作者: Benwolf0818    时间: 2013-3-9 00:21
基本数据类型之间有一定的优先级顺序,在java中变量的优先级由低到高的排列顺序是:byte -  (short  ,   char)  -    int   -  long  -   float  -   double -String(非基本数据类型)
在运算是自动转型为运算中的最高优先级类型
作者: 小丑的媳妇2    时间: 2013-3-9 00:25
谢谢 指教...
作者: 梅杰明    时间: 2013-3-9 00:48
lz你对了,说的没错,一般这种问题不要问,自己验证下就ok
作者: 移动小坦克    时间: 2013-3-9 00:49
哇。。。。是个女的。。。。
作者: amen0205    时间: 2013-3-9 03:38
LZ 理解的很正确  结果自己运行下就OK了
作者: 小丑的媳妇2    时间: 2013-3-9 08:40
百度上没有啊 大哥 你搜搜看看 昨天就找了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2