注册 登录
编程论坛 JAVA论坛

关于字符串的问题求大神 帮小弟看看

leo_young 发布于 2017-04-25 22:11, 1998 次点击
System.out.println("==="+100+200+"====")// 输出===100200===
System.out.println("===="+(100+200)+"====") //输出===300===
System.out.println("==="+100+200)// 输出===100200
System.out.println(100+200+"===") //输出300===
这是书上写的 为什么第四个和第三个不就是位置的区别吗为什么还输出的不一样
5 回复
#2
leo_young2017-04-25 22:13
我咋觉得 第四个的输出应该是100200=== 可是为什么书上说的是300===
#3
lidisi95102017-04-26 09:29
java的运算顺序和数学是差不多的,你可以看一下这四个的区别,然后就可以比较出来了
#4
漫步云端242017-04-26 15:10
第一行和第二行的区别  如果加括号会先把括号中的数字做运算然后作为字符串拼接,如果没有括号100+200 就相当于拼接完100直接拼接200
后两行的区别  先识别什么运算的区别
#5
程序猿单身狗2017-04-27 16:45
如果没括号就从左往右相加!!第一个"==="+100结果变成了字符串,拼接上200然后结果就变成了"===100200"再拼接"==="。第四个先100+200然后拼接"==="。
#6
没名字灬豆豆2017-04-30 21:54
从左往右运算,第四个是先算整型相加再做字符串的拼接
1