说实话,这让我很困惑。有些书说逗号在Java中不是运算符,只是一个分隔符。而其他一些书则说它既是运算符又是分隔符。哪一个是正确的呢?
说实话,这让我很困惑。有些书说逗号在Java中不是运算符,只是一个分隔符。而其他一些书则说它既是运算符又是分隔符。哪一个是正确的呢?
,
在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++
都是两个表达式。
找到了,Java类使用逗号作为分隔符。JLS §3.11
九个ASCII字符是分隔符(标点符号)。
Separator: one of
( ) { } [ ] ; , .
Java 8更新:
12个由ASCII字符形成的令牌是分隔符(标点符号)。
Separator: one of
( ) { } [ ] ; , . ... @ ::
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html
以下按优先级顺序列出了运算符:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html
所以逗号(,)不是运算符,正如其他答案中指出的那样,它确实是一个分隔符。