Java - Kommaoperator außerhalb der Schleifenerklärung

7

Ich weiß, dass ich den Komma-Operator so verwenden kann

%Vor%

aber einige Artikel scheinen darauf hinzuweisen, dass der Komma-Operator außerhalb der for-Schleifen-Deklaration verwendet werden kann, zum Beispiel

%Vor%

Quelle: Ссылка

oder

%Vor%

Quelle: Ссылка

Dies wäre ein netter Trick für einen Code-Verschleierungs-Wettbewerb oder um meine Kollegen zu verwirren, aber keines der Beispiele wird kompiliert (Java 1.6, Eclipse Juno), der Fehler ist "Die linke Seite einer Aufgabe muss ein sein Variable". Ich habe versucht, die Compilereinstellungen zu überprüfen, um zu sehen, ob es verboten sein könnte, schlechten Code zu verhindern, aber ohne Glück.

Was ist los? War der Komma-Operator Teil einer älteren Spezifikation, die später geändert wurde? Verwenden die Personen, die diese Beispiele geschrieben haben, ein anderes Java-Setup, das dies zulässt?

    
JohnEye 26.09.2012, 12:19
quelle

2 Antworten

7
  

Was ist los?

Einige der Tricks, die in C funktionieren, funktionieren nicht in Java.

  

War der Komma-Operator Teil einer älteren Spezifikation, die später geändert wurde?

Das hat in Java AFAIK nie funktioniert.

  

Verwenden die Leute, die diese Beispiele geschrieben haben, ein anderes Java-Setup, das dies erlaubt?

Es ist ein häufiger Fehler anzunehmen, dass Java genau wie C oder C ++ ist, weil es ähnlich ist. Ein guter Teil der Fehler in der SO-Programmierung ist darauf zurückzuführen, dass Leute versuchen, C ++ in Java zu schreiben und verwirrt zu werden, wenn sie nicht das tun, was sie erwarten.

Übrigens: Ich habe den gleichen Fehler gemacht, vorausgesetzt, dass C ++ genau wie Java ist, da meine Kenntnisse von C ++ nicht aktuell sind.

Allerdings einige Tricks, die Java arbeiten, aber vielleicht nicht C.

Sie können alle Währungssymbole verwenden oder einige, die am ähnlichsten aussehen.

z.B.

%Vor%

Sie können Zeichen verwenden, die unsichtbar sind, und c-Paare, die die Reihenfolge umkehren, wenn der Rest der Zeile gedruckt wird. ;)

Dieses Programm kompiliert, führt und druckt alle ungeraden Zeichen, die Sie in Java-Bezeichnern verwenden können

%Vor%

das macht es fast zu einfach.

Ссылка

Ссылка

    
Peter Lawrey 26.09.2012, 12:28
quelle
12

Ссылка

15.27. Ausdruck

& lt; ... & gt;

Im Gegensatz zu C und C ++ hat die Programmiersprache Java keinen Komma-Operator.

    
18446744073709551615 10.12.2013 05:23
quelle