Dieser Artikel ist als Ausgabe gedacht, um die Grundlagen von Java zu überprüfen. Ich hoffe du kannst es in deiner Freizeit lesen.
Steueranweisungen in Java sind grob unterteilt ・ If-Anweisung ・ Trinity-Operator ・ Stream (obwohl es etwas anders ist ...) ・ Switch-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.
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();
}
Die Schleifenanweisung lautet wie folgt. ・ Zur Aussage ・ Zur Aussage erweitert ・ Stream ・ While-Anweisung ・ Do while-Anweisung Dies erklärt auch den dritten von oben.
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.
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);
}
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