public class Review {
public static void main(String[] args) {
int x = 10, y = 5;
System.out.println(" " + x + y); // string + x + y
}
}
这相当于105而不是15? 是什么让它与下面的代码不同?
public class Review {
public static void main(String[] args) {
int x = 10, y = 5;
System.out.println(x + y); //Only x + y
}
}
答案 0 :(得分:0)
第一个答案类型是String,因为“”并且您使用+
使用字符串连接对于第二个,+不用于与String连接。
答案 1 :(得分:0)
当您将基本数据类型与System.out.println()
中的字符串混合时,Java编译器假定您希望将每种数据类型转换为String对象。在原始数据类型周围添加括号,您可以在转换前首先计算Jim Garrison建议:System.out.println(" " + (x + y));
答案 2 :(得分:0)
" " + x + y
表示" " + x
然后是+ y
所以你写的第一个代码我们可以分成两个步骤:
1. " " + x
=> " " + 10
=> "10"
2. "10" + y
=> "10" + 5
=> "105"
但第二个只是number + number
,所以我们得到了数字结果。
我不是母语为英语的人,而且我正在学习,抱歉我的英语不好,我希望这会有所帮助。