Ce que j'ai appris en Java (partie 4) Branchement conditionnel et répétition

Rétrospective de Java

La dernière fois, j'ai écrit à propos de l'instruction d'exécution des instructions en Java. S'il vous plaît voir cela si vous le souhaitez. Ce que j'ai appris dans l'instruction d'exécution de l'instruction Java (3)

Cette fois, j'aimerais écrire sur le branchement conditionnel et la répétition.

Qu'est-ce que la ramification conditionnelle?

Les programmes Java sont composés de structures de contrôle telles que «rang», «branche» et «répétition». Java est traité dans l'ordre à partir du haut du code source. Cela s'appelle "séquentiel".

public class Main {
	public static void main(String[] args) {
		int a = 1;
		int b = 2;
		int c = a + b;
		System.out.println(c);
	}
}

Résultat d'exécution スクリーンショット 2020-11-09 140016.png En plus de procéder "séquentiellement" comme décrit ci-dessus, je pense que cela se ramifiera dans certains cas. Par exemple, si vous avez des problèmes avec du riz ou du pain au petit-déjeuner, ... スクリーンショット 2020-11-10 120212.png Ce type de branchement est appelé «branchement». Je voudrais réellement écrire le code source

public class Main {
	public static void main(String[] args) {
		//Demandez-leur de choisir entre le riz et le pain
		System.out.println("Que mangez-vous au petit-déjeuner?");
		System.out.println("Entrez "0" pour le riz et "1" pour le pain");
		int morning = new java.util.Scanner(System.in).nextInt();
		
		//Si c'était du riz
		if (morning == 0) {
			System.out.println("Préparez du riz, de la soupe miso et des accompagnements ...");
		
		//Si c'était du pain
		} else {
			System.out.println("Cuire au grille-pain, appliquer le beurre, ...");
		}
		
		System.out.println("Je vais!");
	}
}

Résultat d'exécution

if (morning == 0) {
    System.out.println("Préparez du riz, de la soupe miso et des accompagnements ...");	
} else {
    System.out.println("Cuire au grille-pain, appliquer le beurre, ...");
}

Cette partie est appelée l'instruction if. Traduit en langage humain "Si le petit-déjeuner est composé de riz, préparez du riz, de la soupe miso et des accompagnements." "Sinon, cuire du pain et du beurre" C'est le contenu. Vous pouvez "créer une branche" en utilisant l'instruction if comme celle-ci.

Qu'est-ce que la répétition

Ensuite, je voudrais comparer la "répétition" avec la distance jusqu'à la destination. スクリーンショット 2020-11-10 141609.png Écrivons le contenu ci-dessus dans le code source.

public class Main {
	public static void main(String[] args) {
		//Nombre d'étapes vers la destination (cette fois le distributeur automatique)
		int destination = 10;
		System.out.println(destination + "Achetons du jus au distributeur automatique de la destination!");
		//Nombre de pas effectués
		int steps = 0;
		
		//Répétez jusqu'à ce que vous atteigniez votre destination
		while (steps != destination) {
			System.out.println("Faites un pas en avant");
			steps++;
		}
		System.out.println("Je suis arrivé au distributeur, alors j'ai acheté du jus");
	}
}

Résultat d'exécution スクリーンショット 2020-11-10 142932.png J'ai implémenté le code ci-dessus en marchant "à plusieurs reprises" jusqu'à ce que j'arrive au distributeur automatique à 10 pas!

La partie qui est réellement répétée est la suivante.

//Nombre d'étapes vers la destination (cette fois le distributeur automatique)
int destination = 10;
//Nombre de pas effectués
int steps = 0;		
//Répétez jusqu'à ce que vous atteigniez votre destination
while (steps != destination) {
    System.out.println("Faites un pas en avant");
    steps++;
}

C'est une image d'aller étape par étape vers la destination! Au contraire, si vous définissez la destination sur 0 et que vous la modifiez pour qu'elle ne s'approche pas

//Nombre d'étapes vers la destination (cette fois le distributeur automatique)
int destination = 0;
//Nombre de pas effectués
int steps = 10;		
//Répétez jusqu'à ce que vous atteigniez votre destination
while (steps != destination) {
    System.out.println("un peu plus près");
    steps--;
}

Cela ne change pas grand-chose, mais ... De cette manière, l'instruction while est traitée de manière itérative tant que la condition est remplie.

Comment écrire une instruction if et une instruction while

Les instructions qui représentent la structure de contrôle, telles que les instructions if et while, sont appelées syntaxe de contrôle. Je voudrais résumer comment l'écrire ci-dessous.

//si déclaration
if (Expression conditionnelle) {
Traitement effectué lorsque la condition est satisfaite
} else {
Traitement effectué lorsque les conditions sont différentes
}

//déclaration while
while (Expression conditionnelle) {
Traitement effectué lorsque la condition est satisfaite
}

Les expressions conditionnelles sont des expressions utilisées dans les instructions if et while pour exprimer des «conditions de traitement de branchement» et des «conditions de répétition continue».

//Si le numéro de variable est 0
if (number == 0) {}
//Vous étiez si la variable s est "Bonjour"
if (s.equals("Bonjour")) {}

//Si le nombre de variable est égal ou supérieur à 20
while (number >= 20) {}

Les "==" et "> =" dans l'expression conditionnelle sont appelés opérateurs relationnels. Types et significations des opérateurs relationnels

opérateur sens
== Le côté gauche et le côté droit sont égaux
!= Le côté gauche et le côté droit sont différents
> Le côté gauche est plus grand que le côté droit
< Le côté gauche est plus petit que le côté droit
>= Le côté gauche est supérieur ou égal au côté droit
<= Le côté gauche est inférieur ou égal au côté droit
.equals() Les chaînes de caractères sont égales()Remplissez la cible de comparaison
//20 ans et plus et 65 ans et plus
if (age >= 20 && age <= 65) {}
//30 ans ou moins ou homme
if (age <= 30 || gender == 0 ) {}

"" Dans l'expression conditionnelle&&」「||Est appelé un opérateur logique. Types et significations des opérateurs logiques

opérateur sens
&& Et (si les deux conditions sont remplies)
|| Ou (si une seule des conditions est remplie)

Variations d'autres syntaxes de branchement et syntaxe répétitive

si instruction uniquement syntaxe

if (Expression conditionnelle) {
Traitement effectué lorsque la condition est satisfaite
}

Puisqu'il n'y a aucune instruction else, rien n'est fait si l'expression conditionnelle ne s'applique pas.

syntaxe if-else if-else

if (Expression conditionnelle 1) {
Traitement effectué lorsque la condition est satisfaite
} else if (Expression conditionnelle 2) {
Traitement effectué lorsque la condition est satisfaite
} else if (Expression conditionnelle 3) {
Traitement effectué lorsque la condition est satisfaite
} else {
Que se passe-t-il si la condition n'est pas remplie
}

Une instruction if peut bifurquer vers trois routes ou plus.

syntaxe de commutation

switch(Valeur de la condition)
valeur de cas 1:
Processus 1
        break;
valeur de cas 2:
Processus 2
        break;
valeur de cas 3:
Processus 3
        break;
    default:
Processus 4

instruction switch Conditions pouvant être utilisées (1) Une expression qui compare si les expressions conditionnelles correspondent, telles que "variable == valeur" et "variable == variable". (2) La valeur à comparer est un entier, une chaîne de caractères ou un caractère, pas une valeur minoritaire ou booléenne.

syntaxe do-while

do{
bloquer
} while (Expression conditionnelle)

L'instruction while détermine d'abord l'expression conditionnelle (avant jugement), et si la condition est remplie, le traitement à l'intérieur du bloc est exécuté. L'instruction do-while juge l'expression conditionnelle (jugement de postfixe) après que le traitement dans le bloc est effectué.

pour déclaration

for (int i = 0; i < 10; i++){
Traitement répété
};

Le processus est répété le nombre de fois où le type int i augmente de "0" à "10" (partie i ++).

Imbrication de structure de contrôle

Les branches conditionnelles et les instructions répétitives (structures de contrôle) peuvent être placées dans une autre structure de contrôle. Cela s'appelle «imbrication» ou «imbrication». Un exemple simple de quatre-vingt-dix-neuf ...

for (int i = 1; i < 10; i++){
	for (int j = 1; j < 10; j++) {
		System.out.print(i * j);
		System.out.print(" ");
	}
	System.out.println("");
}

Résultat d'exécution スクリーンショット 2020-11-11 121241.png Je pense que vous pouvez jouer diverses instructions if, while, for, etc. en fonction de la façon dont vous les utilisez, alors essayez-les!

Références

https://book.impress.co.jp/books/1113101090

La prochaine fois, j'aimerais écrire sur les tableaux.

Recommended Posts

Ce que j'ai appris en Java (partie 4) Branchement conditionnel et répétition
Ce que j'ai appris en Java (partie 1) Flux de développement Java et présentation
Ce que j'ai appris en Java (partie 2) Que sont les variables?
java (branchement conditionnel et répétition)
Ce que j'ai appris en Java (partie 3) Déclaration d'exécution des instructions
Ce que j'ai appris lors de la création d'un serveur en Java
Ce que j'ai appris avec Java Gold
Ce que j'ai appris avec Java Silver
[Note] Ce que j'ai appris en six mois grâce à des inexpérimentés (Java) (1)
[Note] Ce que j'ai appris en six mois grâce à des inexpérimentés (Java) (3)
Ce que j'ai appris du calcul monétaire Java
Ce que j'ai appris
Pensons à ce qu'est la programmation déclarative en Java et Elm (partie 1)
Résumé de ce que j'ai appris dans Spring Batch
Ce que j'ai appris ② ~ Mock ~
Ce que j'ai appris ① ~ DJUnit ~
Essayé l'API Toot et Streaming de Mastodon en Java
Un examen rapide de Java appris en classe part4
Implémentation de calendrier simple de Rails Gem et branchement conditionnel
Un examen rapide de Java appris en classe part3
Un examen rapide de Java appris en classe part2
J'ai essayé de découvrir ce qui avait changé dans Java 9
Ce que j'ai recherché sur Java 8
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
Branchement conditionnel Java: comment créer et étudier des instructions de commutation
Ce que j'ai recherché sur Java 6
J'ai fait une roulette à Java.
Java et Iterator Part 1 External Iterator Edition
Ce que j'ai recherché sur Java 9
Apache Hadoop et Java 9 (partie 1)
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement
Ce que j'ai recherché sur Java 7
Ce que vous avez appris lors de l'acquisition de Java SE 8 Silver and Gold
J'ai essayé la métaprogrammation avec Java
Je souhaite simplifier l'instruction if-else de la branche conditionnelle en Java
Ce que j'ai appris sur Kotlin
Ce que j'ai recherché sur Java 5
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 10)
[java] Ce que j'ai fait en comparant des listes dans ma propre classe
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 7)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 3)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 9)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 6)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 4)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (Partie 5)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 2)
Résumé de «Modèles de conception appris en langage Java (édition multi-thread)» (Partie 1)
Ce que j'ai appris en travaillant Java avec Visual Studio Code
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 11)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 12)
Résumé de «Modèles de conception appris en langage Java (édition multithread)» (partie 8)
Bases du branchement conditionnel et du retour
J'ai envoyé un e-mail en Java
J'ai comparé les constructeurs PHP et Java
J'ai créé un PDF avec Java.
Exemple d'encodage et de décodage en Java
J'ai écrit le théorème de Gordobach en java
Classe StringBuffer et StringBuilder en Java
[Java] Ce qui est resté bloqué dans l'encapsulation