Java中是逗号(,)运算符还是分隔符?

时间:2016-08-03 02:41:50

标签: java operators

嗯,说实话,这让我很困惑。有些书说逗号不是Java中的运算符,只是一个分隔符。其他人说,它既是运营商,也是分离者。什么是真的?

3 个答案:

答案 0 :(得分:7)

,不是Java中的运算符,因为它位于C中。在C中,您可以在两个表达式之间使用,运算符来使其同时计算并返回第二个表达式。你不能用Java做到这一点。

你仍然可以这样做:

for (i = 1, j = 2; i < max; i++, j++) {
}

在C中,for标题的三个部分都是单个表达式,它使用,是一个运算符来允许上述语句的事实 - i=1, j=2是一个表达式,i++, j++是一个表达式。在Java中,for的语法必须具体允许表达式列表,因此i=1, j=2是两个表达式,i++, j++也是如此。

答案 1 :(得分:3)

发现它,Java类逗号作为分隔符。 JLS §3.11

  

九个ASCII字符是分隔符(标点符号)。

Separator: one of
(    )    {    }    [    ]    ;    ,    .

Java 8更新:

  

由ASCII字符组成的十二个标记是分隔符(标点符号)。

Separator: one of
(   )   {   }   [   ]   ;   ,   .   ...   @   ::

答案 2 :(得分:1)

对于Java中的运算符,请参阅:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html

此处运算符按优先顺序列出:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

所以逗号()不是运算符,实际上是另一个答案中指出的分隔符​​。