Heim  >  Artikel  >  Java  >  Ausführliche Erklärung und Beispiele für die Verwendung von Java-Anweisungsblöcken

Ausführliche Erklärung und Beispiele für die Verwendung von Java-Anweisungsblöcken

高洛峰
高洛峰Original
2017-01-23 13:20:251882Durchsuche

Java-Anweisungsblock

Ich erinnere mich noch daran, dass Anweisungsblöcke darin eingeführt wurden, als ich zum ersten Mal C-, C++- und Java-Programmierbücher las, aber ich verstand damals noch nicht einmal, was Anweisungsblöcke waren. In „Code Encyclopedia“ geht es auch darum, Anweisungen mit ähnlichen Funktionen zu Anweisungsblöcken zusammenzufassen und sie dann durch Leerzeilen von anderen Anweisungsblöcken zu trennen. Dies ist jedoch nur ein Anweisungsblock im menschlichen Verständnis, kein Anweisungsblock im eigentlichen Sinne der Programmiersprache.

Nach meinem Verständnis sollte die Programmdefinition eine Reihe verwandter Anweisungen mit demselben Variablenbereich sein, die in {} eingeschlossen sein sollten, beispielsweise in einer Kontrollstruktur. Ich denke, der kritischste Punkt ist der Variablenbereich, das heißt, wenn dieselbe lokale Variable verwendet werden kann, handelt es sich um einen Anweisungsblock im Sinne eines Programms. Schauen wir uns ein Beispiel an:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
 switch (item.getItemId()) { 
 case MENU_GOTO_FILEANT: 
 Intent i = new Intent(); 
 i.setClass(this, FileAntActivity.class); 
 startActivity(i); 
 break; 
 case MENU_TEST_LINEARLAYOUT: 
 i.setClass(this, LinearLayoutTest.class); 
 startActivity(i); 
 break; 
 default: 
 break; 
 } 
 return true; 
}

Für die zweite Case-Anweisung können Sie weiterhin die im vorherigen Case definierten Variablen verwenden, sodass der gesamte switch() {} ein Anweisungsblock ist.

Aber wenn Sie jeder case-Anweisung Anweisungsblock-Flags hinzufügen, sieht es anders aus:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
 switch (item.getItemId()) {
 case MENU_GOTO_FILEANT: {
 Intent i = new Intent();
 i.setClass(this, FileAntActivity.class);
 startActivity(i);
 break;
 }
 case MENU_TEST_LINEARLAYOUT: {
 Intent i = new Intent();
 i.setClass(this, LinearLayoutTest.class);
 startActivity(i);
 break;
 }
 default:
 break;
 }
 return true;
}

Hinzufügen {} trennt die beiden case-Anweisungen und bildet zwei Anweisungsblöcke. Sie haben ihre eigenen Variablenbereiche und beeinflussen sich nicht gegenseitig. Es spielt keine Rolle, ob sie denselben Namen haben oder erneut definiert sind.

Der Zweck dieser Erklärung besteht darin, {} so oft wie möglich zu verwenden, um einen echten Anweisungsblock zu bilden. Der größte Vorteil besteht darin, dass er einen Variablenbereich bilden kann und den Gültigkeitsbereich der Variablen vermeidet groß. Dies verbessert die Lesbarkeit und verringert die Fehlerwahrscheinlichkeit.

Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, vielen Dank für Ihre Unterstützung dieser Website!

Ausführlichere Erklärungen und Beispiele für die Verwendung von Java-Anweisungsblöcken finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn