Java中+(加号)运算符的优先级是什么?

在Java教程优先级表中,plus运算符的优先级仅列出一次。但是以下Java表达式:

String unexpected = "1 + 1 = " + 1 + 1; 

String expected = "1 + 1 = " + (1 + 1);

System.out.println(unexpected);

System.out.println(expected);

结果如下:

1 + 1 = 11

1 + 1 = 2

这是否意味着加号运算符在用于连接字符串时具有较高的优先级,或者是说加号运算符的优先级对于字符串和数字没有什么不同,只是简单地从左到右求值?

回答:

+总是 从左到右 流动 __

在您的第一个示例中String unexpected = "1 + 1 = " + 1 +

1;,string首先出现,然后是int值,因此1被视为string。

在第二个示例中String expected = "1 + 1 = " + (1 + 1);,您使用的()是哪个优先于+运算符。(

String unexpected1 =1+1+ "1 + 1 = " ;

System.out.println(unexpected1);

输出将是 21 + 1 =

这里首先是int值,所以1 + 1 = 2,然后是字符串文字,所以2与1 + 1 =连接在一起

以上是 Java中+(加号)运算符的优先级是什么? 的全部内容, 来源链接: utcz.com/qa/423781.html

回到顶部