[Java] Deklarieren wir die in der Schleife verwendeten Variablen in der Schleife [Variationen im Block]

Einführung

Nicht beschränkt auf for-Schleifen, while-Schleifen, if-else-Anweisungen, try-catch usw. Es gibt verschiedene "Blöcke", aber lassen Sie uns Variablen deklarieren, die nur in ihnen im Block verwendet werden.

Schlechtes Beispiel

List<String> strList = new ArrayList<String>();
String str = new String();  //← Das! !! !!

for (int i = 0 ; i <= 10 ; i++) {
  str = i + "Th";
  strList.add(str);
}

Da String str außerhalb der for-Schleife deklariert ist, kann es auch außerhalb der for-Schleife verwendet werden. Es widerspricht also Javas Theorie, dass "der Umfang so klein wie möglich ist!"

Ich habe die Person gefragt, die das geschrieben hat

Es gab ungefähr zwei Leute, die so geschrieben haben, also fragte ich: "Warum hast du so geschrieben?" Dann

Da derselbe String str verwendet wird, frage ich mich, ob dadurch Speicherplatz gespart wird.: Sparkles:

Es ist jedoch keine falsche Idee in dem Sinne, dass Sie nicht viele nutzlose Variablen erstellen: heat_smile: Es ist jedoch NG: ng: weil der Bereich unnötig erweitert wird.

Gutes Beispiel

List<String> strList = new ArrayList<String>();

for (int i = 0 ; i <= 10 ; i++) {
  String str = new String();
  str = i + "Th";
  strList.add(str);
}

Verwenden Sie String str nur in for-Schleifen. Wenn Sie es dann in der for-Schleife deklarieren, wird der Bereich kleiner.

Da Java über eine Speicherbereinigungsfunktion verfügt, mit der "Speicher freigegeben werden kann, sobald er aufgebraucht ist", wird für jede for-Schleife ein neuer "String str" erstellt und freigegeben. Daher müssen Sie sich des Gedächtnisses nicht sehr bewusst sein.

Zusammenfassung

Variablen, die nur in der for-Schleife verwendet werden, werden in der for-Schleife deklariert.

Wenn Sie sich verlaufen, versuchen Sie grob gesagt, eine Variable in die Schleife einzufügen. Wenn kein Fehler vorliegt, können Sie ihn unverändert lassen.

Bonus

In meinem Fall frage ich mich, ob das in "Gutes Beispiel" geschriebene Programm bisher organisiert wird.

List<String> strList = new ArrayList<String>();

for (int i = 0 ; i <= 10 ; i++) {
  strList.add(i + "Th");
}

Recommended Posts

[Java] Deklarieren wir die in der Schleife verwendeten Variablen in der Schleife [Variationen im Block]
Deklarieren Sie keine Variablen in List in Java
[Java] Variablen, die innerhalb der `for-Anweisung` deklariert sind, können nicht außerhalb des` for-Anweisungsblocks` verwendet werden
Informationen zur Bedeutung von Typvariablen, E, T usw., die in in Java verwendeten Generika verwendet werden
Quelle zum Abrufen der Umleitungsquell-URL in Java
Erstellen wir eine Taschenrechner-App mit Java ~ Zeigen Sie das Anwendungsfenster an
Greifen Sie mit Java auf die Netzwerkschnittstelle zu
Errate den Zeichencode in Java
Geben Sie den Java-Speicherort in eclipse.ini an
Verwenden wir Twilio in Java! (Einführung)
Entpacken Sie die Zip-Datei in Java
Analysieren der COTOHA-API-Syntaxanalyse in Java
So benennen Sie Variablen in Java
Lassen Sie uns eine TODO-App in Java 5 erstellen. Schalten Sie die Anzeige von TODO um
Rufen Sie die Super-Methode in Java auf
Geben Sie das Standard-JAVA_HOME an, das in Buildship verwendet wird
Holen Sie sich das Ergebnis von POST in Java
Java-Referenz zum Verständnis in der Abbildung
Lassen Sie uns nun den Java-Lambda-Ausdruck rekapitulieren
Versuchen Sie es mit der Stream-API in Java
Rufen Sie die Windows-Benachrichtigungs-API in Java auf
Ich habe das neue Yuan-Problem in Java ausprobiert
[Java] Verwenden Sie kryptografische Technologie mit Standardbibliotheken
Notizen im Kopf organisieren (Java-Arrangement)
[Verarbeitung × Java] Verwendung der Schleife
Versuchen Sie, den CORBA-Dienst unter Java 11+ aufzurufen
Was ist die Hauptmethode in Java?
So erhalten Sie das Datum mit Java
Die Geschichte des Schreibens von Java in Emacs
Konsoleneingabe in Java (Verständnis des Mechanismus)
Erstellen wir eine Taschenrechner-App mit Java ~ Erstellen Sie einen Anzeigebereich im Fenster
AndroidStudio Verweisen wir auf C ++ im Modul anderer Projekte (Java / Kotlin).
In Bezug auf transiente Modifikatoren und Serialisierung in Java
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Über die Verwirrung beim Starten von Java-Servern
Die Geschichte eines gewöhnlichen Othello in Java
[LeJOS] Lassen Sie uns den EV3-Motor mit Java steuern
Über die Idee anonymer Klassen in Java
ChatWork4j für die Verwendung der ChatWork-API in Java
Eine Geschichte über das JDK in der Java 11-Ära
Organisiertes Memo im Kopf (Java - Control Syntax)
Der in Java 10 eingeführte Schnittpunkttyp ist erstaunlich (?)
Verwenden Sie das in Android Studio verwendete JDK im Terminal
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Wenn Java-Tests Umgebungsvariablen enthalten
Informationen zu in Java verwendeten Variablen (lokaler Variablentyp)
Spüren Sie den Lauf der Zeit auch in Java
Notizen im Kopf organisieren (Java - Instance Edition)
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
Denken wir daran, was in Java 9 neu ist
Was ist der flüchtige Modifikator für Java-Variablen?
Was ich in Java gelernt habe (Teil 2) Was sind Variablen?
[Java] Dateien in src / main / resources lesen
Organisiertes Memo im Kopf (Java - Datentyp)
Zeigen Sie "Hello World" im Browser mit Java an
[Java] Beurteilung durch Eingabe von Zeichen in das Terminal
Zeigen Sie "Hello World" im Browser mit Java an
Versuchen Sie es mit der Syntaxanalyse der COTOHA-API in Java