制御構造を詳しく学ぶ前に、まずブロックの役割を理解する必要があります。
定義: 複数の中括弧で囲まれた複数の 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 つの形式を解読してみましょう。
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里面的语句,直接跳过执行外面的语句。 } }
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。 } }
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); } }
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 タグ:
String input.... switch (input.tolowerCase()) { case "yes": ... break; ... }
javac -Xlint:fallthrough Test.javaスイッチ終了フラグ: 1.break2.終わりに遭遇}
以上がJava ブロック スコープ、条件文、switch 文の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。