奇怪的java打印输出

奇怪的java打印输出,java,println,Java,Println,我是Java新手,从事简单的打印工作。首先,我执行: System.out.println(1 + 2 + "3"); 输出:33 我制定了逻辑,1和2将被添加,3将按原样打印 然后,我试了一下: System.out.println ("1" + 2 + 3); 输出:123 运用这个逻辑,我得到了答案15,但我无法得出正确的答案,所以我需要你的帮助,所以朋友们 表达式1+2是一个int 然后将“3”连接到该int 表达式“1”+2是一个字符串 然后将3连接到该字符串 您考虑的是“1”+(

我是Java新手,从事简单的打印工作。首先,我执行:

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

我制定了逻辑,1和2将被添加,3将按原样打印

然后,我试了一下:

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

运用这个逻辑,我得到了答案15,但我无法得出正确的答案,所以我需要你的帮助,所以朋友们

  • 表达式
    1+2
    是一个
    int

    然后将
    “3”
    连接到该int

  • 表达式
    “1”+2
    是一个
    字符串

    然后将
    3
    连接到该
    字符串

  • 您考虑的是
    “1”+(2+3)
    ,这不会发生,因为Java是左关联的

  • 表达式
    1+2
    是一个
    int

    然后将
    “3”
    连接到该int

  • 表达式
    “1”+2
    是一个
    字符串

    然后将
    3
    连接到该
    字符串


  • 您考虑的是
    “1”+(2+3)
    ,这不会发生,因为Java是左关联的。

    在第一种情况下,Java将数字相加以获得结果3,字符串3的追加将使其成为串联字符串:“33”


    在第二种情况下,结果是一个字符串,因为是“1”,而其他字符串被连接成“123”

    在第一种情况下,Java添加数字以获得结果3,字符串3的附加使其成为连接的字符串:“33”


    在第二种情况下,由于“1”的缘故,结果是一个字符串,其他的被连接成“123”

    运算符
    +
    从左侧计算,因此第二个示例的解释如下:

    System.out.println (((“1”+2)+3));
    ====================> "12"+3
    ====================> "123"
    
    如果要显示
    15
    ,则应执行以下操作:

    System.out.println (“1”+(2+3));
    

    这样将首先计算
    (2+3)

    运算符
    +
    从左侧计算,因此第二个示例将按以下方式解释:

    System.out.println (((“1”+2)+3));
    ====================> "12"+3
    ====================> "123"
    
    如果要显示
    15
    ,则应执行以下操作:

    System.out.println (“1”+(2+3));
    
    这样将首先计算
    (2+3)