ホームページ >Java >&#&チュートリアル >Java ブロック スコープ、条件文、switch 文の使用方法

Java ブロック スコープ、条件文、switch 文の使用方法

王林
王林転載
2023-05-15 14:58:061226ブラウズ

ブロックのスコープ

制御構造を詳しく学ぶ前に、まずブロックの役割を理解する必要があります。

定義: 複数の中括弧で囲まれた複数の Java ステートメントで構成されるステートメント。

関数: ブロックは変数のスコープを決定し、あるブロックを別のブロック上にネストできます。

例:

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

同じ名前の変数を 2 つのネストされたブロック内で宣言することはできません。

例:

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

条件文

条件文には 3 つの形式があります。以下にその 3 つの形式を解読してみましょう。

形式 1

if (条件式) { 文本体; }

Java の条件文の表現形式:

if(条件) ステートメント

ここでの条件は括弧で囲む必要があります。

条件式の最終結果は、ブール型 (true または false) のみにすることができます。

プロセス:

1. プログラムが if ステートメントを実行すると、条件式の結果が true か false かを確認します。

2. true の場合、if に入り、その中のステートメント本体の内容が実行されます。

3. falseの場合はifには入らず、中の文本体の内容は実行されません。

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里面的语句,直接跳过执行外面的语句。
	}
}

形式 2

if (条件式){ 文本体; }else{ 文本体; }

文式形式:

if(条件)ステートメント1 elseステートメント2

実行プロセス:

1. プログラムがifステートメントを実行すると、条件式の結果が表示されます。真か偽か。

2. true の場合、if に入り、その中のステートメント本体の内容が実行されます。

3. falseの場合はifには入らず、elseと入力して中のステートメント本体を実行します。

例:

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

形式 3 (一般的に使用される)

if (条件式){ 文本体; }else if{ 文本体; }…else {ステートメント本文;}

ステートメント式形式:

if…else if…

実行プロセス:

1. プログラムが if ステートメントを実行すると、条件式の結果が true か false かをチェックします。

2. true の場合、if 内のステートメント本体の内容が実行され、他のステートメント本体は実行されません。

3. false の場合は、else if の条件式の結果が true か false かを確認し続けます。

4. true の場合は、elseif を入力し、内部のステートメント本体の内容を実行します。

5. false の場合は、下に進みます...

6. if とすべての elseif の条件式が false の場合、else のステートメント本体が実行されます。

例:

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

switch ステートメント

if 条件ステートメントは、複数のオプションを扱う場合、明らかに少し扱いに​​くいです。現時点では、新しい遊び方があります。ない? ?次にswitch文を紹介します。

例の構造について話しましょう。実行プロセスについて話しましょう:

1. プログラムがスイッチを実行すると、スイッチに入り、一致する最初のケースを見つけます。一致する場合 成功した場合は、実行用のケースに入ります。

2. ステートメント本体の内容と内部の区切り。成功した一致がない場合は、引き続きダウンし、2 番目のケースを見つけて一致を続行します。

3. すべてのケースが一致しない場合、デフォルトのステートメント本文の内容が最終的に実行されます。

例:

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

case タグ:

  • ##char、byte、short、または int 型の定数式。

  • 列挙定数。

  • Java 7 以降では、case タグを文字列リテラルにすることができます。

文字定数の例:

String input....
switch (input.tolowerCase())
{
	case "yes":
		...
		break;
		...
}

警告: case 分岐ステートメントの最後に Break ステートメントがない場合、次の case 分岐ステートメントが実行されます。

これを忘れがちな場合は、このステートメントを先頭に追加すると、case の後にブレークがない場合、コンパイル時にエラーが表示されます。

javac -Xlint:fallthrough Test.java

スイッチ終了フラグ:

1.break

2.終わりに遭遇}

以上がJava ブロック スコープ、条件文、switch 文の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。