首先说明+号在java中是有两种含义的,一种表示字符串连接,另一种表示数值的运算。
java中JVM是如何识别这两种含义的呢?
当遇到+号是,JVM首先会判断+号两边的变量或常量是什么类型,
如果+号两边的类型均为非字符串类型,那么JVM就会执行相加的数学操作;
如果两边的类型有字符串类型,则会执行字符串连接的操作。
再来看你的例子:sum = 3 + 5 +"";
首先执行左边第一个加号,因为第一个加号两边均为非字符串类型,所以执行两个数
相加操作,得到8+"";
然后执行第二个加号,由于第二个加号后面是字符串类型,所以JVM会执行字符串相加操作
所以得到的是String sum = 8;
希望能帮到你,求技术加分,急需要技术分参加考试
|