Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
核心Java打印_Java_String_Int - Fatal编程技术网

核心Java打印

核心Java打印,java,string,int,Java,String,Int,如果有其他或进一步的解释,请回复 System.out.println("abc"+1+2); // which gives output as abc12 System.out.println(1+2+"abc"); // which gives output as 3abc.. 根据上述代码 控件从左到右考虑,因此考虑第一个sysout,当它遇到1时,将其视为字符串,当遇到2时,将其视为字符串并使其成为12 在第二种情况下,它将1视为int,而2又是int,将其与1相加,使其成为3。根据j

如果有其他或进一步的解释,请回复

System.out.println("abc"+1+2); // which gives output as abc12
System.out.println(1+2+"abc"); // which gives output as 3abc..
根据上述代码

控件从左到右考虑,因此考虑第一个sysout,当它遇到1时,将其视为字符串,当遇到2时,将其视为字符串并使其成为12

在第二种情况下,它将1视为int,而2又是int,将其与1相加,使其成为3。

根据java

 String + int => String  
 int + int => int
所以在第一个声明中

System.out.println("abc"+1+2);
“abc”是一个字符串对象,如果你向字符串中添加原语,它将变成字符串,就像1添加到“abc”中,变成“abc1”一样,2也一样,它只是连接到字符串,然后最终打印为“abc12”

在这种情况下,会发生同样的情况,但前两个值是int,因此它将像普通int变量一样添加,并在3添加到“abc”后成为字符串值,然后在第一个系统中打印为“3abc”。

System.out.println("abc"+1+2);
它将其视为一个字符串,并将其与以前的值关联,并在第二个系统中显示答案和

System.out.println(1+2+"abc");
它将前两个数字取为int,然后将其相加,然后打印总和,然后将其与字符串合并。如果我们想添加第一个syso数,那么我们必须将这些数放在barcket中,然后编译器将这些数作为整数,然后在那里打印sum,并用string表示

System.out.println("abc"+(1+2));

您观察到的结果肯定与运算符优先级和求值顺序有关。由于所有运算符的优先级相同,因此将按从左到右的顺序计算运算符

在第一个表达式中,所有运算符都具有相同的优先级,因为它们是相同的运算符:+,因此对第一个运算求值。因为它涉及一个
字符串
,所以它是
字符串
串联,结果是一个
字符串
,并且在以下情况下保持
字符串

在第二个表达式中,所有运算符都具有相同的优先级,因为它们是相同的运算符:+,因此计算第一个运算。因为它涉及一个
int
,它是一个
int
加法,结果是一个
int
,并且在下面的+,它保持
int

试试看

System.out.println((1+2)+"abc");
输出:

公元前3年


参见文档:

你说得对。
String
加上
int
就是
String
——这是串联。
int
加上
int
是一个
int
-这是一个加法。
+
在第一次出现
字符串时用作连接运算符。当然,它与
打印/println
的实现无关。该方法接收已连接的字符串并显示它。您有问题吗?
System.out.println((1+2)+"abc");