Heim Java javaLernprogramm 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

Jan 23, 2017 pm 01:20 PM

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; 
}
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kann man den Zugang zu bestimmten Schnittstellen verschachtelter H5 -Seiten durch den Umfangsmechanismus von OAuth2.0 einschränken? Wie kann man den Zugang zu bestimmten Schnittstellen verschachtelter H5 -Seiten durch den Umfangsmechanismus von OAuth2.0 einschränken? Apr 19, 2025 pm 02:30 PM

Wie Verwenden Sie den Occess_Token von OAuth2.0, um die Steuerung der Schnittstellenzugriffsberechtigungen zu erhalten? Wie können Sie bei der Anwendung von OAuth2.0 sicherstellen, dass die ...

Wie unterscheidet man in der Back-End-Entwicklung die Verantwortlichkeiten der Serviceschicht und der DAO-Schicht? Wie unterscheidet man in der Back-End-Entwicklung die Verantwortlichkeiten der Serviceschicht und der DAO-Schicht? Apr 19, 2025 pm 01:51 PM

Erörterung der hierarchischen Architektur in der Back-End-Entwicklung. In der Back-End-Entwicklung ist die hierarchische Architektur ein gemeinsames Designmuster, in der es normalerweise Controller, Service und DAO drei Ebenen ...

Wie kann man in Java Remote -Debugging konstante Werte auf Remote -Servern korrekt erhalten? Wie kann man in Java Remote -Debugging konstante Werte auf Remote -Servern korrekt erhalten? Apr 19, 2025 pm 01:54 PM

Fragen und Antworten zum ständigen Akquisition beim Remote -Debuggen von Java Bei der Verwendung von Java für das entfernte Debuggen können viele Entwickler auf schwierige Phänomene stoßen. Es...

Wie wähle ich Java-Projektmanagement-Tools beim Erlernen von Back-End-Entwicklung aus? Wie wähle ich Java-Projektmanagement-Tools beim Erlernen von Back-End-Entwicklung aus? Apr 19, 2025 pm 02:15 PM

Verwechselt mit der Auswahl von Java -Projektmanagement -Tools für Anfänger. Für diejenigen, die gerade erst anfangen, Backend -Entwicklung zu lernen, ist die Auswahl der richtigen Projektmanagement -Tools von entscheidender Bedeutung ...

Endgültige Konsistenz in verteilten Systemen: Wie kann man Daten inkonsistenzen anwenden und diese kompensieren? Endgültige Konsistenz in verteilten Systemen: Wie kann man Daten inkonsistenzen anwenden und diese kompensieren? Apr 19, 2025 pm 02:24 PM

Die Anwendung der endgültigen Konsistenz in verteilten Systemen verteilte Transaktionsverarbeitung war schon immer ein Problem in der verteilten Systemarchitektur. Um das Problem zu lösen ...

Warum meldet es einen Fehler beim Einreichen eines Pyflink -Jobs auf Garn? Warum meldet es einen Fehler beim Einreichen eines Pyflink -Jobs auf Garn? Apr 19, 2025 pm 02:06 PM

Analyse des Grundes, warum das Python -Skript nicht gefunden werden kann, wenn Sie einen Pyflink -Job auf Garn einreichen, wenn Sie versuchen, einen Pyflink -Job über Garn einzureichen. Sie können begegnen ...

Wie modifiziere ich den Parameter SavePath von @Excel Annotation in Easypoi dynamisch, wenn das Projekt in Java beginnt? Wie modifiziere ich den Parameter SavePath von @Excel Annotation in Easypoi dynamisch, wenn das Projekt in Java beginnt? Apr 19, 2025 pm 02:09 PM

So konfigurieren Sie die Parameter von Entitätsklassenanmerkungen in Java während des Entwicklungsprozesses dynamisch.

Wenn Tomcat Spring-Web-Module lädt, zerstört der SPI-Mechanismus dann das Sichtbarkeitsprinzip der Lader der Java-Klasse? Wenn Tomcat Spring-Web-Module lädt, zerstört der SPI-Mechanismus dann das Sichtbarkeitsprinzip der Lader der Java-Klasse? Apr 19, 2025 pm 02:18 PM

Analyse des Klassenbelastungsverhaltens des SPI-Mechanismus beim Lasten von Feder-Web-Modulen. Tomcat wird verwendet, um den von Spring-Web bereitgestellten Servel beim Laden von Feder-Web-Modulen zu entdecken und zu verwenden ...

See all articles