Java Anweisung Block
Ich erinnere mich noch daran, dass als ich zum ersten Mal C-, C ++ - und Java -Programmierbücher las, es Einführungs -Statement -Blöcke gab, aber ich verstand nicht, was ein Statement -Block war. Die "Codesammlung" besagt auch, dass Anweisungen mit ähnlichen Funktionen zusammen organisiert werden sollten, um Anweisungsblöcke zu formen, und dann von anderen Zeilen von anderen Anweisungsblöcken getrennt werden. Dies ist jedoch nur ein Statement -Block im menschlichen Verständnis, kein Statement -Block im wahren Sinne der Programmiersprache.
Nach meinem Verständnis sollte die Programmdefinition eine Sammlung verwandter Aussagen mit demselben variablen Bereich sein. Es scheint, dass es mit {} eingeschlossen sein sollte, wie z. B. die Logik in der Kontrollstruktur. Ich denke, der kritischste Punkt ist der Umfang der Variablen, dh wenn dieselbe lokale Variable verwendet werden kann, handelt es sich um einen Anweisungsblock im Programmgefühl. Schauen wir uns ein Beispiel an:
@Override public boolean onoptionStemSelected (Menuitem item) {switch (item.getItemid ()) {case mseu_goto_fileant: intent i = new Intent (); I.SetClass (this, fileAntactivity.class); StartAktivität (i); brechen; case mseu_test_linearlayout: I.SetClass (this, linearLayoutTest.class); StartAktivität (i); brechen; Standard: Break; } Return true; } Für die zweite Fallanweisung kann die im vorherige Fall definierte Variable weiterhin verwendet werden, sodass der gesamte Switch () {} ein Anweisungsblock ist.
Wenn Sie jedoch jeder Fall eine Anweisung Block Flag hinzufügen, ist dies unterschiedlich:
@Override public boolean onoptionStemSelected (Menuitem item) {switch (item.getItemid ()) {case mseu_goto_fileant: {intent i = new Intent (); I.SetClass (this, fileAntactivity.class); StartAktivität (i); brechen; } case mseu_test_linearlayout: {intent i = new Intent (); I.SetClass (this, linearLayoutTest.Class); StartAktivität (i); brechen; } Standard: Break; } Return true; } Das Hinzufügen von {} trennt die beiden Fallanweisungen und bildet zwei Anweisungsblöcke. Sie haben ihre eigenen variablen Bereiche und betreffen sich nicht. Auch wenn sie denselben Namen verwenden, spielt es keine Rolle, ob sie es erneut definieren.
Der Zweck der Erklärung dieser besteht darin, so viele {} wie möglich zu verwenden, um einen realen Anweisungsblock zu bilden. Der größte Vorteil ist, dass es einen variablen Umfang bilden und vermeiden kann, dass der Umfang der Variablen zu groß ist, was die Lesbarkeit verbessert und die Möglichkeit von Fehlern verringert.
Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!