📜  Java中使用+运算符的加法和连接

📅  最后修改于: 2022-05-13 01:54:56.984000             🧑  作者: Mango

Java中使用+运算符的加法和连接

到目前为止,在Java中,我们一直在玩不可或缺的部分,我们目睹了 +运算符的行为方式与预期的相同,因为十进制系统在二进制级别上被深深地累加起来,结果二进制数被抛出通用十进制系统中的控制台。但是极客们甚至想知道如果我们在 integer 和字符串之间使用这个 +运算符会怎样。

例子

Java
// Java Program to Illustrate Addition and Concatenation
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Print statements to illustrate
        // addition and Concatenation 
        // using + operators over string and integer
        // combination
        System.out.println(2 + 0 + 1 + 6 + "GeeksforGeeks");
        System.out.println("GeeksforGeeks" + 2 + 0 + 1 + 6);
        System.out.println(2 + 0 + 1 + 5 + "GeeksforGeeks" + 2 + 0 + 1 + 6);
        System.out.println(2 + 0 + 1 + 5 + "GeeksforGeeks" + (2 + 0 + 1 + 6));
    }
}


输出
9GeeksforGeeks
GeeksforGeeks2016
8GeeksforGeeks2016
8GeeksforGeeks9

输出说明:这种不可预测的输出是由于编译器从左到右计算给定表达式的事实,因为运算符具有相同的优先级。一旦遇到字符串,它会将表达式的其余部分视为字符串(再次基于表达式的优先顺序)。

System.out.println(2 + 0 + 1 + 6 + "GeeksforGeeks");  

它打印 2,0,1 和 6 的加法,等于 9

System.out.println("GeeksforGeeks" + 2 + 0 + 1 + 6); 

它打印 2,0,1 和 6 的串联,即 2016,因为它最初遇到字符串。基本上,字符串优先,因为它们具有比整数更高的转换优先级。

System.out.println(2 + 0 + 1 + 5 + "GeeksforGeeks" + 2 + 0 + 1 + 6); 

它打印 2,0,1 和 5 的加法,而 2,0,1 和 6 的串联基于上述示例。

System.out.println(2 + 0 + 1 + 5 + "GeeksforGeeks" + (2 + 0 + 1 + 6)); 

由于( ) 优先于 +,它会打印2,0,1 和 5 以及 2,0,1 和 6的加法。因此,首先计算 ( ) 中的表达式,然后进行进一步的评估。