Cet article est conçu comme une sortie pour passer en revue les bases de Java. J'espère que vous pourrez le lire pendant votre temps libre.
Les instructions de contrôle en Java sont grossièrement divisées ・ Si déclaration ・ Opérateur Trinity ・ Stream (bien que ce soit un peu différent ...) ・ Déclaration de commutation -Méthode qui renvoie un booléen Je vais le faire à. Cette fois, je vais expliquer les trois ci-dessus.
C'est une grammaire qui existe généralement dans des langues bien connues. Bien sûr, il existe également en Java.
Control.java
public long secondCheck(List<String> checkTarget) {
long count = 0L;
for(String target : checkTarget) {
if(target.length() > 3) {
count++;
} else if(target.length() > 5) {
count++;
} else {
return count;
}
}
return count;
}
L'ordre de traitement est le suivant. (1) L'expression conditionnelle de if est jugée en premier. (2) Si l'expression conditionnelle if renvoie false, l'expression conditionnelle else if est déterminée. ③ Si 1 et 2 ne correspondent pas, else est exécuté.
C'est une image qui juge dans l'ordre à partir du haut et effectue un traitement qui correspond aux conditions, et si elle ne correspond pas, le traitement du bloc else est exécuté.
Effectue le même contrôle que l'instruction if. Cependant, si vous ne l'utilisez pas correctement, le code sera très difficile à lire. L'avantage est que vous pouvez écrire avec une seule doublure.
Control.java
public long thridCheck(List<String> checkTarget) {
long count = 0L;
int i = 0 ;
while(i < checkTarget.size()) {
count = checkTarget.get(i).length() > 5 ? count++ : count;
i++;
}
return count;
}
Le processus est le suivant. ?? Si l'expression conditionnelle précédente renvoie true, le traitement de gauche est exécuté et si false est renvoyé, le traitement de droite est exécuté. À mon avis, c'est une description qui était contre-indiquée avant l'apparition de Stream, J'ai l'impression d'avoir acquis un peu de citoyenneté depuis l'introduction de Stream.
Il est également possible d'imbriquer davantage d'expressions conditionnelles lorsque false.
Control.java
public long thridCheck(List<String> checkTarget) {
long count = 0L;
int i = 0 ;
while(i < checkTarget.size()) {
count = checkTarget.get(i).length() > 5 ? count++ : checkTarget.get(i).length() > 3 ? count++ : count;
i++;
}
return count;
}
C'est difficile à lire à ce stade, vous pouvez donc le compléter avec if else et le code ne s'étire pas trop horizontalement Utilisation recommandée dans certains cas.
Stream C'est une interface qui peut être utilisée lors de l'exécution d'opérations de collecte ajoutées à partir de Java SE 8. L'explication détaillée sera dans un article séparé, mais le code ci-dessus peut être écrit comme suit.
Control.java
public long firstCheck(List<String> checkTarget) {
long count = checkTarget.stream().filter(str -> str.length() > 5).count();
return count;
}
Dans cet exemple, il serait bon d'emprunter l'idée de JavaScript et de renvoyer directement le résultat.
Control.java
public long firstCheck(List<String> checkTarget) {
return checkTarget.stream().filter(str -> str.length() > 5).count();
}
L'instruction de boucle est la suivante. ・ Pour déclaration ・ Étendu pour déclaration ・ Flux ・ Déclaration While ・ Do while déclaration Cela explique également le troisième par le haut.
Une boucle qui existe dans de nombreuses langues. En Java ** (Déclaration de variable, expression conditionnelle, traitement de comptage) ** Décrivez et bouclez le processus jusqu'à ce que l'expression conditionnelle renvoie false.
Control.java
public long secondCheck(List<String> checkTarget) {
long count = 0L;
for(int i = 0 ; i < checkTarget.size() ; i++) {
if(checkTarget.get(i).length() > 3) {
count++;
}
}
return count;
}
Le code ci-dessus boucle jusqu'à ce que la variable déclarée i soit supérieure ou égale au nombre dans la liste checkTarget.
Dans d'autres langues, on l'appelle parfois une instruction foreach. Traite les éléments de la collection dans l'ordre et parcourt tous les éléments jusqu'à ce que le traitement soit terminé.
Control.java
public long secondCheck(List<String> checkTarget) {
long count = 0L;
for(String target : checkTarget) {
if(target.length() > 3) {
count++;
}
}
return count;
}
Le code ci-dessus gérera tous les éléments de checkTargetList.
Stream La méthode forEach () est fournie. Cela effectue également le même traitement que l'instruction for étendue.
Control.java
public void firstCheck(List<String> checkTarget) {
checkTarget.stream().filter(str -> str.length() > 5).forEach(System.out::print);
}
Quand je suis devenu ingénieur, Java 7 était encore à son apogée, et peu de gens utilisaient Stream, mais Stream, qui a une courte description et est facile à comprendre, est devenu courant, et je sens le flux du temps.
~~ Pourtant, 8 est toujours traditionnel et ancien, cependant ...
Code source https://github.com/mamoru12150927/JavaQitta.git
Recommended Posts