这怎么等于 105 而不是 15?
How does this equal 105 instead of 15?
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
}
}
第一个答案的类型是字符串,因为“”,您正在使用 +
进行字符串连接
对于第二个,+ 未用于连接字符串。
当您在 System.out.println()
中将原始数据类型与 String 混合使用时,Java 编译器假定您希望将每种数据类型都转换为 String 对象。在您的原始数据类型周围添加括号可以让您在转换之前先进行计算,如 Jim Garrison 建议:System.out.println(" " + (x + y));
" " + x + y
表示 " " + x
然后 + y
所以你写的第一段代码我们可以分为两步:
1. " " + x
=> " " + 10
=> "10"
2. "10" + y
=> "10" + 5
=> "105"
但是第二个只是一个number + number
,所以我们得到了数字结果。
我的母语不是英语,我正在学习,抱歉我的英语不好,希望这对您有所帮助。
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
}
}
第一个答案的类型是字符串,因为“”,您正在使用 +
进行字符串连接对于第二个,+ 未用于连接字符串。
当您在 System.out.println()
中将原始数据类型与 String 混合使用时,Java 编译器假定您希望将每种数据类型都转换为 String 对象。在您的原始数据类型周围添加括号可以让您在转换之前先进行计算,如 Jim Garrison 建议:System.out.println(" " + (x + y));
" " + x + y
表示 " " + x
然后 + y
所以你写的第一段代码我们可以分为两步:
1. " " + x
=> " " + 10
=> "10"
2. "10" + y
=> "10" + 5
=> "105"
但是第二个只是一个number + number
,所以我们得到了数字结果。
我的母语不是英语,我正在学习,抱歉我的英语不好,希望这对您有所帮助。