Revenir au début, démarrer avec Java ② Instructions de contrôle, instructions de boucle

introduction

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.

Instruction de contrôle qui peut être écrite de différentes manières

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.

if déclaration

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é.

Opérateur triangulaire

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();
    }

Il s'agit également de diverses phrases en boucle

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.

pour déclaration

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.

Étendu pour déclaration

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);
        
    }

À la fin

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

Revenir au début, démarrer avec Java ② Instructions de contrôle, instructions de boucle
Revenir au début et démarrer avec Java ① Types de données et modificateurs d'accès
Premiers pas avec Kotlin à envoyer aux développeurs Java
Premiers pas avec Doma - Introduction à l'API Criteria
Premiers pas avec Java Collection
Premiers pas avec les bases de Java
Premiers pas avec Ruby pour les ingénieurs Java
[Traitement × Java] Comment utiliser la boucle
Introduction à Java à partir de 0 Partie 1
Démarrez avec le fonctionnement de JVM GC
Liens et mémos pour démarrer avec Java (pour moi-même)
[LeJOS] Contrôlons le moteur EV3 avec Java
Premiers pas avec Doma-Using Projection avec l'API Criteira
Premiers pas avec les sous-requêtes utilisant Doma avec l'API Criteria
Premiers pas avec Java 1 Assembler des éléments similaires
Revenant au début, Java-Kisama s'est moqué de Hello World-
Premiers pas avec Doma-Using Joins avec l'API Criteira
Prise en main des programmes Java à l'aide de Visual Studio Code
Premiers pas avec DBUnit
Premiers pas avec Ruby
Connexion HTTPS avec Java au serveur de certificats auto-signé
[LeJOS] Contrôlons à distance le moteur EV3 avec Java
Premiers pas avec Swift
Premiers pas avec les anciens ingénieurs Java (Stream + Lambda)
Premiers pas avec Doma-Transactions
Commencez avec Java sans serveur avec le framework léger Micronaut!
[Java] Modifier le traitement en fonction de la situation avec le modèle de stratégie
Premiers pas avec Java et création d'un éditeur Ascii Doc avec JavaFX
Premiers pas avec Doma-Dynamic Construction de clauses WHERE avec l'API Criteria
Premiers pas avec Reactive Streams et l'API JDK 9 Flow
[Java] [Play Framework] Jusqu'à ce que le projet soit démarré avec Gradle
Il est maintenant temps de commencer avec l'API Stream
Assurez-vous de comparer le résultat Java compareTo avec 0
Premiers pas avec le traitement Doma-Annotation
Java pour jouer avec Function
Gestion des versions Java avec SDKMAN
Gestion des versions Java avec jenv
Connectez-vous à DB avec Java
Connectez-vous à MySQL 8 avec Java
Premiers pas avec JSP et servlet
Premiers pas avec Spring Boot
Premiers pas avec les modules Ruby
Entrée dans la console Java
Je veux revenir à l'écran précédent avec kotlin et java!
Résumer les principaux points de démarrage avec JPA appris avec Hibernate
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
Remplacer par une valeur selon la correspondance avec une expression régulière Java
De Java naissant (3 ans) à Node.js (4 ans). Et l'impression de retourner à Java
[Java] Je veux effectuer distinctement avec la clé dans l'objet
Java pour apprendre avec les ramen [Partie 1]
Comment démarrer avec Slim
[java8] Pour comprendre l'API Stream
Premiers pas avec Java_Chapitre 5_Exercices pratiques 5_4
[Java] Points à noter avec Arrays.asList ()
Osez défier Kaggle avec Java (1)
J'ai essayé d'interagir avec Java
[Google Cloud] Premiers pas avec Docker
Suivez le lien avec Selenium (Java)
Bienvenue dans le marais des bibliothèques Java! !!