Maison > Java > javaDidacticiel > le corps du texte

Comment utiliser la portée du bloc Java, les instructions conditionnelles et les instructions switch

王林
Libérer: 2023-05-15 14:58:06
avant
1217 Les gens l'ont consulté

Portée du bloc

Avant d'apprendre en profondeur la structure de contrôle, vous devez d'abord comprendre le rôle des blocs.

Définition : Une instruction composée de plusieurs instructions Java, entourées d'une paire d'accolades.

Fonction : le bloc détermine la portée des variables et un bloc peut être imbriqué sur un autre bloc.

Exemple :

package decom1;
public class cuowu {
	public static void main(String[] args) {  //第二个块嵌套在第一个块里面。
		byte i = 12;                 //变量i只在第二个块区域内有作用包括嵌套里面的块。
		{                            //第三个块嵌套在第二个块里面同时也在第一个块里面。
			int a = 3;               //变量a只在所在的块起到作用。
			System.out.println(a);
		}                            //写在main(程序执行的入口)里面的代码块,就称为局部代码块。
		                             //局部代码的作用:能够让变量更早的在内存中消失,节省内存空间。
		System.out.println(i);
	}
}
Copier après la connexion

Vous ne pouvez pas déclarer des variables portant le même nom dans deux blocs imbriqués.

Exemple :

package decom1;
public class cuowu {
	public static void main(String[] args) {
		byte i = 12;
		{
			int i = 3;      //报错:Duplicate local variable i	
		}
		System.out.println(i);
	}
}
Copier après la connexion

Instruction conditionnelle

Les instructions conditionnelles ont trois formats. Laissez-moi décrypter les trois formats ci-dessous.

Format 1

if (expression conditionnelle) { corps de la déclaration }

La forme d'expression de la déclaration conditionnelle en Java :

instruction if(condition)

Les conditions ici doivent être placées entre parenthèses.

Le résultat final de l'expression conditionnelle ne peut être que de type booléen, vrai ou faux.

Processus :

1. Si le programme exécute l'instruction if, il verra si le résultat de l'expression conditionnelle est vrai ou faux.

2. Si c'est vrai, il entrera le if et exécutera le contenu du corps de l'instruction à l'intérieur.

3. S'il est faux, il n'entrera pas dans le if et le contenu du corps de la déclaration à l'intérieur ne sera pas exécuté.

package com;
public class liu {
	public static void main(String[] args) {
		int i = 1;
		int j = 2;
		if(i > j) {
			System.out.println(i);
		} 
			System.out.println(j);  //由于i>j不成立,所以不执行if里面的语句,直接跳过执行外面的语句。
	}
}
Copier après la connexion

Format 2

if(expression conditionnelle){ corps de l'instruction; }else{ corps de l'instruction; }

Formulaire d'expression de l'instruction :

if(condition) instruction1 else instruction2

Processus d'exécution :

1 . Si le programme exécute l'instruction if, il vérifiera si le résultat de l'expression conditionnelle est vrai ou faux.

2. Si c'est vrai, il entrera le if et exécutera le contenu du corps de l'instruction à l'intérieur.

3. S'il est faux, il n'entrera pas si, mais entrera sinon et exécutera le corps de l'instruction à l'intérieur.

Exemple :

package com;
public class liu {
	public static void main(String[] args) {
		//获取两个数的较大值
		int i = 1;
		int j = 2;
		int max = 0;
		if(i > j) {
			max = i;  //把i赋值给max
		} else {
			max = j;  //把j赋值给max
		}
		System.out.println(max);  //因为i>j条件为假,所以执行else里面的语句,所以max得到的数值为2。
	}
}
Copier après la connexion

Format trois (couramment utilisé)

if (expression conditionnelle) { corps de la déclaration ; }else if{ corps de la déclaration }…else{corps de la déclaration ;}

forme d'expression de la déclaration :

if…else if…

Processus d'exécution :

1. Si le programme exécute l'instruction if, il verra si le résultat de l'expression conditionnelle est vrai ou faux.

2. Si c'est vrai, le contenu du corps de l'instruction if sera exécuté et les autres corps de l'instruction ne seront pas exécutés.

3. Si c'est faux, il continuera à descendre pour voir si le résultat de l'expression conditionnelle de else if est vrai ou faux.

4. Si c'est vrai, entrez elseif et exécutez le contenu du corps de la déclaration à l'intérieur.

5. Si c'est faux, continuez à descendre...

6. Si les expressions conditionnelles dans if et all elseif sont fausses, le contenu du corps de l'instruction else sera exécuté.

Exemple :

package com;
public class liu {
	public static void main(String[] args) 
		int a = 0;
		int i = 7;
		if(i > 8) {
			a = 1;
		} else if(i > 7) {
			a = 2;
		} else if(i > 6) {
			a = 3;
		} else {
			a = 4;
		}
		System.out.println(a); 
	}
}
Copier après la connexion

instruction switch

L'instruction conditionnelle if est évidemment un peu maladroite lorsqu'il s'agit de plusieurs options. À l'heure actuelle, il existe une nouvelle façon de jouer, pourquoi pas ? Ensuite, je présenterai l'instruction switch.

Parlons de la structure dans un exemple. Parlons du processus d'exécution ci-dessous :

1. Lorsque le programme exécute le commutateur, il entrera dans le commutateur et trouvera le premier cas de correspondance. Si la correspondance est réussie, il le fera. entrera dans l'affaire pour exécution.

2. Le contenu du corps de la déclaration et la pause à l'intérieur. S'il n'y a pas de correspondance réussie, il continuera à descendre et trouvera le deuxième cas pour continuer la correspondance...

3. Si tous les cas ne correspondent pas, le contenu du corps de la déclaration par défaut sera exécuté.

Exemple :

package com;
public class liu {
	public static void main(String[] args) {
		int i = 3;
		switch(i) {   
			case 1:
				System.out.println("1");
				break;
			case 2:
				System.out.println("2");
				break;
			case 3:
				System.out.println("3");  //i=3符合case 3所以就执行case里面的命令,其余语句则不管。
				break;
			default:
				System.out.println("3");
				break;
		}
	}
}
Copier après la connexion

case tag :

  • Expression constante de type char, byte, short ou int.

  • Constantes d'énumération.

  • À partir de Java 7, les balises case peuvent être des chaînes littérales.

Exemple de constante de caractère :

String input....
switch (input.tolowerCase())
{
	case "yes":
		...
		break;
		...
}
Copier après la connexion

Avertissement : s'il n'y a pas d'instruction break à la fin de l'instruction case branch, l'instruction case branch suivante sera exécutée.

Si vous avez tendance à l'oublier, vous pouvez ajouter cette instruction devant. De cette façon, s'il manque une pause après le cas, une erreur sera générée lors de la compilation.

javac -Xlint:fallthrough Test.java

switch end flag:

1.break

2.rencontrer la fin}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal