In welchen Fällen wäre es sinnvoll, einen Befehl in eine Java For-Loop-Aktualisierungsanweisung aufzunehmen? [geschlossen]

8

Ich habe gestern herausgefunden, dass Sie eine Java-for-Schleife erstellen können, die so aussieht.

%Vor%

Das sieht wirklich ungewöhnlich für mich aus. Wann ist das Codieren so akzeptabel / sinnvoll?

    
Coffee 14.11.2015, 21:16
quelle

6 Antworten

2

Die offizielle Java-Dokumentation sagt Folgendes über for-Schleifen:

  

Die allgemeine Form der Anweisung für kann wie folgt ausgedrückt werden:

%Vor%
  

Beachten Sie beim Verwenden dieser Version der for-Anweisung Folgendes:

     
  1. Der Initialisierungs Ausdruck initialisiert die Schleife; Es wird einmal ausgeführt, sobald die Schleife beginnt.
  2.   
  3. Wenn der Ausdruck termination den Wert false ergibt, wird die Schleife beendet.
  4.   
  5. Der Ausdruck increment wird nach jeder Iteration durch die Schleife aufgerufen. Es ist durchaus akzeptabel, dass dieser Ausdruck erhöht wird   oder dekrementiere einen Wert.
  6.   

Es ist also möglich, etwas wie System.out.println(j) in Ihrem Inkrement zu haben, dies widerspricht jedoch den Kodierungskonventionen gemäß der offiziellen Dokumentation.

Der Grund, warum es im -Inkrement -Teil zulässig ist, mehrere durch Kommas getrennte Anweisungen zu haben, liegt daran, dass Sie möglicherweise den Wert mehrerer Variablen während der Ausführung von für Schleife. Nur in diesem Fall ist es also sowohl akzeptabel als auch nützlich , diesen syntaktischen Zucker zu verwenden. Das folgende Beispiel veranschaulicht dieses Szenario:

%Vor%     
Ivaylo Toskov 14.11.2015, 21:32
quelle
7

Ich würde immer nur so etwas machen, wenn ich zwei Schleifenvariablen hätte, zB:

%Vor%

Abgesehen davon würde ich nicht empfehlen, dies zu tun, da es verschleiert, was die for-Schleife tatsächlich macht. Es wäre besser, Methodenaufrufe mit Nebenwirkungen in den Körper zu platzieren.

    
tixopi 14.11.2015 21:21
quelle
3

Dies entspricht:

%Vor%

Ich sehe keinen Vorteil darin, es anders zu benutzen, als Studenten in der Prüfung auszutricksen. Es könnte nützlich sein zu überprüfen, ob der Schüler die Funktionsweise von for loop genau versteht.

    
Ankur Shanbhag 14.11.2015 21:19
quelle
3

Sie können es auch so machen

%Vor%     
Huzaima Khan 14.11.2015 21:22
quelle
2

Eine mögliche Verwendungsmöglichkeit für zwei Operationen in der update-Anweisung besteht darin, dass Sie zwei Variablen gleichzeitig bearbeiten können. Etwas wie,

%Vor%     
Elliott Frisch 14.11.2015 21:21
quelle
1

Es gibt dem Code mehr Sinn, macht ihn lesbarer. Dies ist nützlich, wenn Sie am Ende jeder Iteration mehr als eine Anweisung ausführen müssen (z. B. Erhöhen des Schleifenzählers). Es wird im Allgemeinen verwendet, um mehrdimensionale Arrays zu durchlaufen.

    
Mohammed Aouf Zouag 14.11.2015 21:22
quelle

Tags und Links