Zurück zum Anfang, Erste Schritte mit Java ② Steueranweisungen, Schleifenanweisungen

Einführung

Dieser Artikel ist als Ausgabe gedacht, um die Grundlagen von Java zu überprüfen. Ich hoffe du kannst es in deiner Freizeit lesen.

Steueranweisung, die auf verschiedene Arten geschrieben werden kann

Steueranweisungen in Java sind grob unterteilt ・ If-Anweisung ・ Trinity-Operator ・ Stream (obwohl es etwas anders ist ...) ・ Switch-Anweisung

if-Anweisung

Es ist eine Grammatik, die meist in bekannten Sprachen vorkommt. Natürlich gibt es es auch in 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;
    }

Die Verarbeitungsreihenfolge ist wie folgt. (1) Der bedingte Ausdruck von if wird zuerst beurteilt. (2) Wenn der bedingte if-Ausdruck false zurückgibt, wird der bedingte else else-Ausdruck bestimmt. ③ Wenn 1 und 2 nicht übereinstimmen, wird else ausgeführt.

Es ist ein Bild, das in der Reihenfolge von oben beurteilt und eine Verarbeitung ausführt, die den Bedingungen entspricht. Wenn es nicht übereinstimmt, wird die Verarbeitung des else-Blocks ausgeführt.

Dreiecksoperator

Führt das gleiche Steuerelement wie die if-Anweisung aus. Wenn Sie es jedoch falsch verwenden, ist der Code sehr schwer zu lesen. Der Vorteil ist, dass Sie mit einem Liner schreiben können.

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

Der Prozess ist wie folgt. ?? Wenn der vorherige bedingte Ausdruck true zurückgibt, wird die Verarbeitung links ausgeführt, und wenn false zurückgegeben wird, wird die Verarbeitung rechts ausgeführt. Meiner Meinung nach ist es eine Beschreibung, die vor dem Erscheinen von Stream kontraindiziert war. Ich habe das Gefühl, dass ich seit der Einführung von Stream ein wenig Staatsbürgerschaft erlangt habe.

Es ist auch möglich, bedingte Ausdrücke weiter zu verschachteln, wenn sie falsch sind.

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

Es ist an dieser Stelle schwer zu lesen, daher können Sie es mit if else vervollständigen, und der Code erstreckt sich nicht zu stark seitwärts. In einigen Fällen zur Verwendung empfohlen.

Stream Es ist eine Schnittstelle, die verwendet werden kann, wenn Erfassungsvorgänge ausgeführt werden, die aus Java SE 8 hinzugefügt wurden. Die ausführliche Erklärung finden Sie in einem separaten Artikel. Der obige Code kann jedoch wie folgt geschrieben werden.

Control.java


    public long firstCheck(List<String> checkTarget) {
        long count = checkTarget.stream().filter(str -> str.length() > 5).count();
        return count;
    }

In diesem Beispiel wäre es gut, die Idee von JavaScript auszuleihen und das Ergebnis direkt zurückzugeben.

Control.java


    public long firstCheck(List<String> checkTarget) {
        return checkTarget.stream().filter(str -> str.length() > 5).count();
    }

Dies sind auch verschiedene Schleifensätze

Die Schleifenanweisung lautet wie folgt. ・ Zur Aussage ・ Zur Aussage erweitert ・ Stream ・ While-Anweisung ・ Do while-Anweisung Dies erklärt auch den dritten von oben.

zur Aussage

Eine Schleife, die in vielen Sprachen existiert. In Java ** (Variablendeklaration, bedingter Ausdruck, Zählverarbeitung) ** Beschreiben Sie in und wiederholen Sie den Prozess, bis der bedingte Ausdruck false zurückgibt.

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

Der obige Code wird wiederholt, bis die deklarierte Variable i größer oder gleich der Zahl in der checkTarget-Liste ist.

Für Aussage erweitert

In anderen Sprachen wird es manchmal als foreach-Anweisung bezeichnet. Verarbeitet die Elemente der Sammlung der Reihe nach und durchläuft alle Elemente, bis die Verarbeitung abgeschlossen ist.

Control.java



    public long secondCheck(List<String> checkTarget) {
        long count = 0L;
        for(String target : checkTarget) {
            if(target.length() > 3) {
                count++;
            }
        }

        return count;
    }

Der obige Code behandelt alle Elemente von checkTargetList.

Stream Die forEach () -Methode wird bereitgestellt. Dies führt auch die gleiche Verarbeitung durch wie die erweiterte for-Anweisung.

Control.java



    public void firstCheck(List<String> checkTarget) {
        checkTarget.stream().filter(str -> str.length() > 5).forEach(System.out::print);
        
    }

Am Ende

Als ich Ingenieur wurde, war Java 7 noch in seiner Blütezeit, und nur wenige Leute verwendeten Stream, aber Stream, das eine kurze Beschreibung hat und leicht zu verstehen ist, hat sich zum Mainstream entwickelt, und ich spüre, wie die Zeit vergeht.

~~ Trotzdem ist 8 immer noch Mainstream und alt ... ~~

Quellcode https://github.com/mamoru12150927/JavaQitta.git

Recommended Posts

Zurück zum Anfang, Erste Schritte mit Java ② Steueranweisungen, Schleifenanweisungen
Zurück zum Anfang und erste Schritte mit Java ① Datentypen und Zugriffsmodifikatoren
Erste Schritte mit Kotlin zum Senden an Java-Entwickler
Erste Schritte mit Doma-Einführung in die Kriterien-API
Erste Schritte mit Java Collection
Erste Schritte mit Java Basics
Erste Schritte mit Ruby für Java-Ingenieure
[Verarbeitung × Java] Verwendung der Schleife
Einführung in Java ab 0 Teil 1
Beginnen Sie mit der Funktionsweise von JVM GC
Links & Memos für den Einstieg in Java (für mich)
[LeJOS] Lassen Sie uns den EV3-Motor mit Java steuern
Erste Schritte mit der Doma-Projektion mit der Criteira-API
Erste Schritte mit Java 1 Ähnliche Dinge zusammenstellen
Zurück zum Anfang verspottete Java-Kisama Hello World-
Erste Schritte mit Doma-Using Joins mit der Criteira-API
Erste Schritte mit Java-Programmen mit Visual Studio Code
Erste Schritte mit DBUnit
Erste Schritte mit Ruby
HTTPS-Verbindung mit Java zum selbstsignierten Zertifikatsserver
[LeJOS] Lassen Sie uns den EV3-Motor mit Java fernsteuern
Erste Schritte mit Swift
Erste Schritte mit älteren Java-Ingenieuren (Stream + Lambda)
Erste Schritte mit Doma-Transaktionen
Beginnen Sie mit serverlosem Java mit dem leichtgewichtigen Framework Micronaut!
[Java] Ändern Sie die Verarbeitung entsprechend der Situation mit dem Strategiemuster
Erste Schritte mit Java und Erstellen eines Ascii Doc-Editors mit JavaFX
Erste Schritte mit Doma-Dynamic Erstellen von WHERE-Klauseln mit der Kriterien-API
Erste Schritte mit Reactive Streams und der JDK 9 Flow API
[Java] [Play Framework] Bis das Projekt mit Gradle gestartet wird
Jetzt ist es an der Zeit, mit der Stream-API zu beginnen
Stellen Sie sicher, dass Sie das Java compareTo-Ergebnis mit 0 vergleichen
Erste Schritte mit der Verarbeitung von Doma-Annotationen
Java zum Spielen mit Function
Java-Versionsverwaltung mit SDKMAN
Java-Versionsverwaltung mit jenv
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Erste Schritte mit JSP & Servlet
Erste Schritte mit Spring Boot
Erste Schritte mit Ruby-Modulen
Eingabe in die Java-Konsole
Ich möchte mit Kotlin und Java zum vorherigen Bildschirm zurückkehren!
Fassen Sie die wichtigsten Punkte für den Einstieg in JPA zusammen, die Sie mit Hibernate gelernt haben
Herstellen einer Verbindung zu einer Datenbank mit Java (Teil 1) Möglicherweise die grundlegende Methode
Ersetzen Sie durch einen Wert entsprechend der Übereinstimmung mit einem regulären Java-Ausdruck
Vom jungen Java (3 Jahre) bis zu Node.js (4 Jahre). Und der Eindruck, nach Java zurückzukehren
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Java mit Ramen lernen [Teil 1]
Wie fange ich mit schlank an?
[java8] Um die Stream-API zu verstehen
Erste Schritte mit Java_Kapitel 5_Praktische Übungen 5_4
[Java] Mit Arrays.asList () zu beachtende Punkte
Wagen Sie es, Kaggle mit Java herauszufordern (1)
Ich habe versucht, mit Java zu interagieren
[Google Cloud] Erste Schritte mit Docker
Folgen Sie dem Link mit Selen (Java)
Willkommen im Sumpf der Java-Bibliotheken! !!