2016-08-03 12 views
2

Nun, um ehrlich zu sein, das verwirrt mich sehr. Einige Bücher sagen, dass Komma kein Operator in Java ist, nur ein Trennzeichen. Andere sagen, es ist sowohl ein Operator als auch ein Separator. Was ist wahr?Ist Komma (,) Operator oder Trennzeichen in Java?

+0

Für die Verkettung von Ausdrücken ist es ein Operator, sonst ein Trennzeichen für Argumente usw. – Li357

+3

Warum runter? Ist es nicht eine Frage zum Thema? – Fresher

+0

Scheint eine gute Frage zu sein. Können Sie uns Ihre Referenz geben? (hauptsächlich aus Neugier) – technico

Antwort

3

, ist kein Operator in Java, wie in C. In C können Sie den Operator , zwischen zwei Ausdrücken verwenden, damit er beide auswertet und den zweiten zurückgibt. Das können Sie in Java nicht tun.

Sie können dies noch tun:

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

In C sind die drei Teile des for Header sind alle einzelnen Ausdrücke, und es nutzt die Tatsache, dass , ein Betreiber wie die above-- zu ermöglichen Aussagen i=1, j=2 ist ein Ausdruck, und i++, j++ ist ein Ausdruck. In Java muss die Syntax von for speziell Ausdruckslisten berücksichtigen, so dass i=1, j=2 zwei Ausdrücke sind, ebenso wie i++, j++.

3

Gefunden, Java Klassen Kommas als Trennzeichen. JLS §3.11

Neun ASCII-Zeichen sind die Trennzeichen (Punctuators).

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

Update für Java 8:

Zwölf-Token aus ASCII-Zeichen gebildet wird, sind die Separatoren (Interpunktionszeichen).

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

Danke für den Link. – Fresher

Verwandte Themen