[Java] Déclarons les variables utilisées dans la boucle dans la boucle [Variations dans le bloc]

introduction

Non limité aux boucles for, while, aux instructions if-else, try-catch, etc. Il existe différents "blocs", mais déclarons des variables qui ne sont utilisées que dans eux dans le bloc.

Mauvais exemple

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

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

Puisque String str est déclaré en dehors de la boucle for, il peut également être utilisé en dehors de la boucle for. Cela va donc à l'encontre de la théorie de Java selon laquelle "la portée est aussi petite que possible!"

J'ai demandé à la personne qui a écrit ceci

Il y avait environ deux personnes qui écrivaient de cette façon, alors j'ai demandé: «Pourquoi avez-vous écrit de cette façon? Puis

Je me demande si cela économisera de la mémoire car j'utilise le même String str: sparkles:

Ce n'est pas une mauvaise idée dans le sens où vous ne créez pas beaucoup de variables inutiles, cependant: sweat_smile: Cependant, c'est NG: ng: parce que la portée se développe inutilement.

Bon exemple

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

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

Utilisez String str uniquement dans les boucles for. Ensuite, si vous le déclarez dans la boucle for, la portée sera plus petite.

Puisque Java a une fonction de ramassage des ordures pour "libérer de la mémoire dès qu'elle est épuisée", un nouveau "String str" est créé et publié pour chaque boucle for. Par conséquent, vous n'avez pas besoin d'être très conscient de la mémoire.

Résumé

Les variables utilisées uniquement dans la boucle for sont déclarées dans la boucle for.

En gros, si vous vous perdez, essayez de mettre une variable dans la boucle. S'il n'y a pas d'erreur, vous pouvez le laisser tel quel.

prime

Dans mon cas, je me demande si le programme écrit en "Bon exemple" sera organisé jusqu'à présent.

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

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

Recommended Posts

[Java] Déclarons les variables utilisées dans la boucle dans la boucle [Variations dans le bloc]
Ne déclarez pas de variables dans List en Java
[Java] Les variables déclarées à l'intérieur de l'instruction `for` ne peuvent pas être utilisées en dehors du bloc` instruction for`
À propos de la signification des variables de type, E, T, etc. utilisées dans les génériques utilisés en Java
Source utilisée pour obtenir l'URL de la source de redirection en Java
Faisons une application de calcul avec Java ~ Afficher la fenêtre de l'application
Accéder à l'interface réseau avec Java
Devinez le code de caractère en Java
Spécifiez l'emplacement Java dans eclipse.ini
Utilisons Twilio en Java! (Introduction)
Décompressez le fichier zip en Java
Analyser l'analyse syntaxique de l'API COTOHA en Java
Comment nommer des variables en Java
Créons une application TODO en Java 5 Changer l'affichage de TODO
Appelez la super méthode en Java
Spécifiez le JAVA_HOME par défaut utilisé dans buildship
Obtenez le résultat de POST en Java
Référence Java à comprendre dans la figure
Récapitulons maintenant l'expression lambda Java
Essayez d'utiliser l'API Stream en Java
Appelez l'API de notification Windows en Java
J'ai essayé le nouveau yuan à Java
[Java] Utiliser la technologie cryptographique avec les bibliothèques standard
Organisation des notes dans la tête (Java-Arrangement)
[Traitement × Java] Comment utiliser la boucle
Essayez d'appeler le service CORBA sur Java 11+
Quelle est la méthode principale en Java?
Comment obtenir la date avec Java
L'histoire de l'écriture de Java dans Emacs
Entrée de la console en Java (comprendre le mécanisme)
Faisons une application de calculatrice avec Java ~ Créez une zone d'affichage dans la fenêtre
AndroidStudio Faisons référence au C ++ dans le module des autres projets (Java / kotlin)
Concernant les modificateurs transitoires et la sérialisation en Java
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
À propos de la confusion observée dans les serveurs Java de démarrage
L'histoire de la fabrication d'un Othello ordinaire à Java
[LeJOS] Contrôlons le moteur EV3 avec Java
À propos de l'idée des classes anonymes en Java
ChatWork4j pour l'utilisation de l'API ChatWork en Java
Une histoire sur le JDK à l'ère de Java 11
Mémo organisé dans la tête (syntaxe Java --Control)
Le type d'intersection introduit dans Java 10 est incroyable (?)
Utilisez le JDK utilisé dans Android Studio dans le terminal
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Lorsqu'il y a des variables d'environnement dans les tests Java
À propos de var utilisé en Java (type de variable locale)
Ressentez le passage du temps même à Java
Organisation des notes dans la tête (Java - édition d'instance)
Créons un framework Web ultra-simple avec Java
Gardons cela à l'esprit Quoi de neuf dans Java 9
Quel est le modificateur volatile pour les variables Java?
Ce que j'ai appris en Java (partie 2) Que sont les variables?
[Java] Lire les fichiers dans src / main / resources
Mémo organisé dans la tête (Java - type de données)
Afficher "Hello World" dans le navigateur à l'aide de Java
[Java] Jugement en saisissant des caractères dans le terminal
Afficher "Hello World" dans le navigateur à l'aide de Java
Essayez d'utiliser l'analyse syntaxique de l'API COTOHA en Java