[Java] Branchement et répétition

if déclaration

: ensoleillé: Can branchement Entrez la condition de branchement entre () derrière: ensoleillé: si : ensoleillé: se compose d'expressions conditionnelles et de blocs

Par exemple, vous pouvez créer une branche ...

Avez-vous du pain à la maison? → Oui Faisons-le griller et mangeons-le! → Non Allons à la boulangerie pour acheter!

Il s'agit de pouvoir modifier le processus de programmation en fonction des conditions telles que.

Exemple.java


public class Main {
	public static void main(String[] args) {
	    boolean bread = true;
	    if (bread == true) {
	        System.out.println("Faisons-le griller et mangeons-le!");
	    } else {
	        System.out.println("Allons à la boulangerie pour acheter!");
	    }
	}
}

Entrez true (ou false est OK) dans la variable de type booléen bread qui représente la valeur booléenne sur la troisième ligne.

(Pain == vrai) derrière si sur la 4ème ligne décrit la condition de branchement. Dans ce cas, si true est affecté à la variable pain ...

Si la 5ème ligne est vraie, veuillez effectuer ce type de traitement.

Si else sur la 6ème ligne est autre chose (dans ce cas, ce n'est pas vrai) Veuillez effectuer ce type de traitement sur la 7ème ligne.

console.


Faisons-le griller et mangeons-le!

Cette fois, puisque true est assigné à la 3ème ligne, cela devient le ci-dessus: sourire: Si vous changez la troisième ligne de vrai à faux ...

console.


Allons à la boulangerie pour acheter!

Est affiché: sourire:

si seulement la syntaxe

: sunny: Si la condition est remplie, le processus spécifié est exécuté, et s'il ne l'est pas, rien n'est fait.

Exemple.java


public class Main {
	public static void main(String[] args) {
		int number = 5;
		if (number == 5) {
		    System.out.println("Gorira!");
		}
    }
}

Dans ce cas, si 5 est attribué au numéro de variable,

Gorira!

S'affiche et tout autre numéro est attribué, rien n'est fait.

syntaxe if-else if-else

: sunny: Une instruction if peut se ramifier vers plus de deux routes.

Exemple.java


public class Main {
	public static void main(String[] args) {
		int number = 1;
		if (number == 1) {
		    System.out.println("fraise!");
		} else if (number == 2) {
		    System.out.println("Carottes!");
		} else if (number == 3) {
		    System.out.println("Des sandales!");
		} else {
		    System.out.println("ne sait pas");
		}
    }
}

Si 1 est attribué au numéro de variable, Ichigo! C'est la sortie, et si c'est 2, c'est la carotte! Si c'est 3, sandales! Les autres nombres sont affichés comme "Je ne sais pas". J'ai pu me connecter à plus de deux itinéraires en utilisant else if: smile:

instruction switch

: sunny: une expression qui compare si les côtés gauche et droit de toutes les expressions conditionnelles correspondent, telles que variable == valeur, variable == variable. Entrez le nom de la variable au lieu de l'expression entre () après: sunny: switch : sunny: case value ::: est un deux-points, veillez donc à ne pas le confondre avec un point-virgule. Entrez la pause à la toute fin du traitement après: ensoleillé: cas : sunny: default a la même signification que else dans l'instruction if, et que faire lorsque la condition n'est pas remplie. Il peut être omis si le traitement n'est pas requis avec else. break peut également être omis.

Vous pouvez réécrire la programmation utilisée précédemment dans la syntaxe if-else if-else dans une instruction switch: smile:

Exemple.java


public class Main {
	public static void main(String[] args) {
		int number = 1;
		switch(number) {
		    case 1:
    		    System.out.println("fraise!");
    		    break;
		    case 2:
    		    System.out.println("Carottes!");
    		    break;
		    case 3:
    		    System.out.println("Des sandales!");
    		    break;
    		default:
    		    System.out.println("ne sait pas");
		}
    }
}

Par rapport à l'instruction if, il y a moins de {} et () après le else if, donc c'est très facile à voir: smile:

Il y a toujours une pause à la fin de chaque cas, mais que faire si j'oublie de le remplir? : en pensant:

Exemple.java


public class Main {
	public static void main(String[] args) {
		int number = 1;
		switch(number) {
		    case 1:
    		    System.out.println("fraise!");
		    case 2:
    		    System.out.println("Carottes!");
    		    break;
		    case 3:
    		    System.out.println("Des sandales!");
    		    break;
    		default:
    		    System.out.println("ne sait pas");
		}
    }
}

J'ai osé supprimer la pause dans le cas 1 sur la 7ème ligne. Que va-t-il se passer?

console.


fraise!
Carottes!

Non seulement le cas 1 est affiché, mais le cas 2 est également affiché. ..

L'instruction switch est une instruction qui saute le traitement vers l'étiquette de cas qui correspond à la variable entre (). Par conséquent, aucune erreur de compilation ne se produira. Si vous ne remplissez pas une pause et arrêtez le processus, le programme dans le cas suivant sera exécuté.

N'ose pas écrire de pause

Vous pouvez également profiter de la propriété selon laquelle le traitement ne s'arrête que si vous remplissez cette pause.

Exemple.java


public class Main {
	public static void main(String[] args) {
		int rank = 1;
		switch(rank) {
		    case 1:
    		    System.out.println("excellence!");
    		    break;
		    case 2:
		    case 3:
    		case 4:
    		    System.out.println("habituellement");
    		    break;
    		case 5:
    		    System.out.println("Travailler dur!");
    		    break;
		}
    }
}

Lorsque le rang est 1, il est affiché comme excellent! Si les rangs 2 à 4 sont tous identiques, les caractères «normaux» sont affichés. J'ai osé supprimer les pauses et les déclarations dans les cas 2 et 3, afin que le processus passe au cas 4.

Cela a rendu le code plus lisible et plus facile à lire: sourire:

déclaration while

: sunny: Peut effectuer un traitement itératif (boucle) : ensoleillé: entrez la condition pour continuer à répéter entre () derrière pendant : ensoleillé: se compose d'expressions conditionnelles et de blocs

Exemple.java


public class Main {
	public static void main(String[] args) {
		int day = 1;
        while (day <= 7) {
            System.out.println(day + "journée");
            day++;
        }
        System.out.println("Une semaine s'est écoulée");
    }
}

Remplacez 1 pour le jour variable sur la troisième ligne.

Le (jour <= 7) en retard sur la 4ème ligne est la condition pour continuer à répéter. Dans ce cas, répétez le traitement sur les 5e à 6e lignes jusqu'à ce que la valeur de la variable jour devienne 7. Actuellement, 1 est attribué.

La 5ème ligne est affichée comme le 1er jour car 1 est affecté à la variable jour. Sur la 6ème ligne, day ++;, ajoutez 1 à la variable day pour en faire 2. Revenez à la quatrième ligne.

Puisque nous avons ajouté 1 à la variable jour plus tôt, 2 est affecté à la variable jour. (jour <= 7) Autrement dit, 2 <= 7 et l'expression conditionnelle est appliquée, de sorte que le traitement des 5e à 6e lignes est répété.

Puisque 2 est attribué au jour variable sur la 5ème ligne, il est affiché comme 2ème jour. Dans day ++; sur la 6ème ligne, ajoutez 1 à la variable day pour en faire 3. Il revient à while sur la 4ème ligne, et ainsi de suite jusqu'à ce que la variable day devienne 7.

Que se passe-t-il lorsque la variable day devient 7, en répétant comme avant, et enfin day ++; affecte 8 à la variable day. Revenez ensuite à la quatrième ligne.

Actuellement, 8 est attribué à la variable jour. (jour <= 7) Autrement dit, 8 <= 7, mais l'expression conditionnelle n'est pas satisfaite. C'est la fin du processus itératif. Lorsque le traitement itératif est terminé, le traitement des 5e à 6e lignes n'est pas effectué et le traitement de la 8e ligne est ignoré.

Ensuite, le processus de la 8ème ligne est exécuté et le programme se termine.

console.


Premier jour
le 2ème jour
Troisième jour
Jour 4
Jour 5
Jour 6
Jour 7
Une semaine s'est écoulée

déclaration do-while

L'instruction: sunny: While continue le traitement jusqu'à ce que la condition change. Dans le cas du do-while, le traitement est effectué une fois, puis le traitement est poursuivi jusqu'à ce que les conditions changent.

Exemple.java


public class Main {
    public static void main(String[] args) {
        int day = 1;
        do {
            System.out.println(day + "journée");
            day++;
        } while (day <= 7) ;
        System.out.println("Une semaine s'est écoulée");
    }
}

Attribuez 1 à la variable jour sur la troisième ligne.

Dans la déclaration while, alors que venait ensuite, je vérifiais les conditions. Cependant, dans cette instruction do-while, le traitement est effectué plus tôt.

La 5ème ligne affiche les caractères du 1er jour. Sur la 6ème ligne, 1 est ajouté au jour variable, donc 1 + 1 remplace 2.

Sur la 7ème ligne, while (day <= 7) détermine si la condition est remplie. Puisque 2 est attribué à la variable jour, la condition est satisfaite avec 2 <= 7. Le processus de retour est répété jusqu'à faire sur la 4ème ligne.

Si 8 est entré dans la variable day avec while (day <= 7), la condition n'est pas satisfaite et le processus itératif se termine.

Le programme se termine par un message disant qu'une semaine s'est écoulée sur la 8ème ligne: smile:

pour déclaration

: ensoleillé: Répéter en spécifiant le nombre de fois

Exemple.java


public class Main {
    public static void main(String[] args) {
        for (int cake = 0; cake < 5; cake++) {
            System.out.println("Je veux manger des crêpes!");
        }
    }
}

La troisième ligne est l'instruction for. Je pensais que ce serait très compliqué ... Une fois que vous avez compris ce que chacun voulait dire, ce n'était pas trop difficile: sourire: Je vais vous expliquer: sourire:

dans l'instruction for

int cake = 0;

Qu'est-ce que cela met dans la valeur initiale? C'est. Dans l'instruction ci-dessus, attribuez 0 à la variable cake. C'est.

Et ensuite

cake < 5;

Combien de fois cela répète-t-il le processus? C'est. Au fait, savez-vous combien de fois répéter? ?? : en pensant: En fait, le processus est répété 5 fois.

Auparavant, j'ai défini la valeur initiale comme int cake = 0;. En d'autres termes ...

0  1  2  3  4

Il a été répété 5 fois au total, dont 0 et 0.

finalement

cake++

Cela agit comme un décompte pour répéter le processus. Il compte comme un après chaque processus.

L'ordre est ...

0 est attribué à la variable cake avec int cake = 0;.

gâteau <5; c'est-à-dire 0 <5; donc les conditions correspondent Je veux manger des crêpes! Est sortie.

Puisqu'il s'agit de cake ++, 1 est attribué à la variable cake par 0 + 1.

gâteau <5; c'est-à-dire 1 <5;, donc les conditions correspondent Je veux manger des crêpes! Est sortie.

Puisqu'il s'agit de cake ++, 2 est attribué à la variable cake par 1 + 1.

gâteau <5; En d'autres termes, 2 <5; donc les conditions correspondent Je veux manger des crêpes! Est sortie.

Puisqu'il s'agit de cake ++, 3 est attribué à la variable cake par 2 + 1.

gâteau <5; En d'autres termes, 3 <5; donc les conditions correspondent Je veux manger des crêpes! Est sortie.

Puisqu'il s'agit de cake ++, 4 est attribué à la variable cake par 3 + 1.

gâteau <5; En d'autres termes, 4 <5; donc les conditions correspondent Je veux manger des crêpes! Est sortie.

Puisqu'il s'agit de cake ++, 5 est attribué à la variable cake par 4 + 1.

Puisque gâteau <5, c'est-à-dire 5 <5;, les conditions ne correspondent pas. Le processus se termine ici.

Je suis sûr que certains d'entre vous l'ont peut-être remarqué. Le gâteau int = 0; la pièce n'a été traitée qu'une seule fois. Cette partie est le premier processus ponctuel.

S'il s'agit également d'un processus répétitif

J'ai ajouté 1 avec cake ++, mais 0 est à nouveau attribué avec int cake = 0; Ajoutez 1 avec cake ++, et 0 est à nouveau attribué avec int cake = 0; Je me retrouve avec une boucle infinie qui ne finit jamais: scream:

console.


Je veux manger des crêpes!
Je veux manger des crêpes!
Je veux manger des crêpes!
Je veux manger des crêpes!
Je veux manger des crêpes!

À propos, la valeur initiale ne doit pas nécessairement commencer par 0.

Exemple.java


for (int cake = 1; cake < 6; cake++) 

Si vous voulez répéter 5 fois, réglez la partie numérique sur gâteau <6; ou gâteau <= 5;. Le motif inverse est également possible: sourire:

Exemple.java


for (int cake = 5; cake > 0; cake--)

Dans ce cas, 5 est attribué à la valeur initiale, et comme il s'agit de cake--, la valeur de la variable cake est décrémentée de 1. gâteau> 0; En d'autres termes, cela signifie continuer le traitement jusqu'à 1> 0.

continue déclaration

: sunny: Ignore le traitement du tour spécifié et passe au tour suivant.

Exemple.java


public class Main {
    public static void main(String[] args) {
        for (int cake = 0; cake < 5; cake++) {
            if (cake == 3) {
                continue;
            }
            System.out.println("Je veux manger des crêpes!");
        }
    }
}

Qu'est-ce que ça veut dire

if (cake == 3) { continue; }

Si 3 est attribué au gâteau variable, ne pas traiter (je veux manger des crêpes!) Passez au processus suivant. Cela signifie: sourire:

Alors quand tu cours

console.


Je veux manger des crêpes!
Je veux manger des crêpes!
Je veux manger des crêpes!
Je veux manger des crêpes!

N'a été exécuté que 4 fois: sourire: Je pense que j'ai arrêté le processus avec pause au moment de la déclaration de commutation.

break → Le processus est interrompu. continue → Saute le traitement pour le tour spécifié et passe au tour suivant.

Les deux sont similaires mais différents. Au fait, si vous modifiez la partie ci-dessus, continuez à casser Puisque le processus est interrompu après 3 fois Je veux manger des crêpes! Est traité seulement 3 fois.

Blocs et expressions conditionnelles

bloquer

: sunny: une collection d'instructions exécutées par branchement ou répétition

Exemple.java


public class Main {
	public static void main(String[] args) {
	    boolean bread = true;
	    if (bread == true) {
	        System.out.println("Faisons-le griller et mangeons-le!");
	    } else {
	        System.out.println("Allons à la boulangerie pour acheter!");
	    }
	}
}

Prenez le code expliqué dans l'instruction if plus tôt comme exemple: smile: Quelle sera la partie du bloc? Ce sont les 5e et 7e lignes. Pour être plus précis

Exemple.java


{
System.out.println("Faisons-le griller et mangeons-le!");
}

From {from {after if (bread == true) sur la 4ème ligne Le bloc est jusqu'à} avant tout sur la 6ème ligne.

Exemple.java


{
System.out.println("Allons à la boulangerie pour acheter!");
}

De {from {after else sur la 6ème ligne Le bloc est jusqu'à la 8ème ligne}.

Exemple.java


public class Main {
	public static void main(String[] args) {
		int day = 1;
        while (day <= 7) {
            System.out.println(day + "journée");
            day++;
        }
        System.out.println("Une semaine s'est écoulée");
    }
}

Je vais l'expliquer dans la déclaration while plus tôt: sourire:

Exemple.java


{
System.out.println(day + "journée");
day++;
}

Après (jour <= 7) sur la 4ème ligne, de { Jusqu'à la 7ème ligne}.

Expression conditionnelle

Expression écrite entre () après: ensoleillé: si ou pendant : sunny: () Entrez la condition pour brancher le processus s'il s'agit d'une instruction if, et la condition pour continuer à se répéter s'il s'agit d'une instruction while.

Exemple.java


if (bread == true)

(Pain == vrai)

Exemple.java


while (day <= 7)

(Jour <= 7).

Recommended Posts

[Java] Branchement et répétition
Branche conditionnelle Java
branche conditionnelle java
Java et JavaScript
XXE et Java
[Java] Branche conditionnelle
Java vrai et faux
[Java] Comparaison des chaînes de caractères et && et ||
Java - Sérialisation et désérialisation
timedatectl et Java TimeZone
[Java] Types de variables et types
java (classe et instance)
[Java] Surcharge et remplacement
Etudier Java # 2 (\ marque et opérateur)
Java version 8 et fonctionnalités ultérieures
[Java] Différence entre == et égal
[Java] Classe générique et méthode générique
Programmation Java (variables et données)
Java et Iterator Part 1 External Iterator Edition
Instructions Java if et switch
Définition et instanciation de classe Java
Apache Hadoop et Java 9 (partie 1)
[Java] À propos de String et StringBuilder
Etude de Java # 7 (Type de syntaxe de branche)
☾ Instruction Java / Repeat et instruction de contrôle de répétition
Méthodes Java et surcharges de méthodes
java Generics T et? Différence
Avantages et inconvénients de Java
java (branchement conditionnel et répétition)
À propos du package Java et de l'importation
[Java] Téléchargez une image et convertissez-la en Base64
Histoire de remplacement C # et Java
Méthodes et classes abstraites Java
Instructions Java while et for
Encapsulation Java et getters et setters
J'ai comparé les constructeurs PHP et Java
Différences entre Java "débutant" et Kotlin
Utiliser java avec MSYS et Cygwin
Traçage distribué avec OpenCensus et Java
[Java] Différence entre Hashmap et HashTable
Déclaration, initialisation et types de variables Java
Insertion Java Excel et extraction d'images
Installez Java et Tomcat avec Ansible
SDK AWS pour Java 1.11.x et 2.x
[Java] Types de base et notes d'instructions
Date de sortie de Java et résumé EOL
Java et fonctions principales - au-delà de l'interface fonctionnelle -
[Java] Énumération des branches avec instruction switch
À propos de Biocontainers fastqc et Java
Java pour les débutants, les expressions et les opérateurs 1
Série Java Primer (variations et types)
Exemple d'encodage et de décodage en Java
[Java débutant] À propos de l'abstraction et de l'interface
Types de données de base et types de référence (Java)
[Java] Traitement en boucle et table de quatre-vingt-dix-neuf
Arguments Java, valeurs de retour et surcharges
Aide sur les commandes OpenJDK 8 java et javac
Mécanisme de référence Java (pile et tas)
Java pour les débutants, les expressions et les opérateurs 2