サイクル制御
コードのブロックを数回実行する必要がある場合、通常はループと呼ばれる状況がある場合があります。
Javaには、非常に柔軟な3ループメカニズムがあります。次の3つのループのいずれかを使用できます。
Java 5の時点で、拡張されたループが導入されています。これは主に配列に使用されます。
ループ中
ループは、特定の数のタスクを繰り返すことができる制御構造です。
文法
時間ループの構文は次のとおりです。
while(boolean_expression){//ステートメント}実行時に、ブール式の結果が真である場合、ループ内のアクションが実行されます。式の結果が真である限り、実行は継続します。
ここで、whileループの重要なポイントは、ループが永久に実行されない可能性があることです。式がテストされると、結果が誤り、ループ本体がスキップされ、whileループが実行された後の最初のステートメントが実行されます。
例
パブリッククラステスト{public static void main(string args []){int x = 10; while(x <20){system.out.print( "x of x:" + x); x ++; System.out.print( "/n"); }}}これにより、次の結果が生成されます。
xの値:xの値:xの11Value:xの12Value:13Value of x:14Value of xの値:x 16Value:x 17Value:18Value of X:19
してください...ループ中
do ...ループはしばらくループに似ていますが、do ...が少なくとも1回は実行されることが保証されている一方で。
文法
doの構文...ループは次のとおりです。
{//ステートメント} while(boolean_expression);ブール式はループの最後に表示されるため、ループ内のステートメントが以前のブールテストを実行することに注意してください。
ブール式が真である場合、コントロールフローがジャンプし、ループ内のステートメントが再び実行されます。このプロセスは、ブール式が偽になるまで繰り返されます。
例
パブリッククラステスト{public static void main(string args []){int x = 10; do {system.out.print( "x of x:" + x); x ++; System.out.print( "/n"); } while(x <20); }}これにより、次の結果が生成されます。
xの値:xの値:xの11Value:xの12Value:13Value of x:14Value of xの値:x 16Value:x 17Value:18Value of X:19
ループ用
forループは、実行する必要がある特定の回数のループを効果的に書き込むことができるループ制御構造です。
タスクを繰り返す必要がある回数がわかった場合、forループは有益です。
文法
forループの構文は次のとおりです。
for(初期化; boolean_expression; update){// statements}以下は、forループの制御プロセスです。
初期化ステップは、最初に1回だけ実行されます。このステップは、ループ制御変数を宣言および初期化します。ここに宣言を入れる必要はありません。セミコロンだけが表示される必要があります。
次に、ブール発現が評価されます。本当なら、ループ本体が実行されます。それがfalseの場合、ループ本体は実行されず、プロセス制御はforループを通過する次のステートメントにジャンプします。
その後、ループボディがループ用に実行されると、制御プロセスはアップデートステートメントにバックアップします。このステートメントにより、任意のループ制御変数の更新が可能です。このステートメントは、ブール式の式の後にセミコロンが表示される限り、空白のままにすることができます。
ブール式は、計算を再度評価するようになりました。 trueの場合、ループを実行してプロセスを繰り返します(ループボディ、次にステップを更新し、次にブール式)。その後、ブール式はfalseで、ループは終了します。
例
public class test {public static void main(string args []){for(int x = 10; x <20; x = x + 1){system.out.print( "value of x:" + x); System.out.print( "/n"); }}}これにより、次の結果が生成されます。
xの値:xの値:xの11Value:xの12Value:13Value of x:14Value of xの値:x 16Value:x 17Value:18Value of X:19
Javaのループ用の新機能
Java 5の時点で、拡張されたループが導入されています。これは主に配列に使用されます。
文法
拡張されたループの構文は次のとおりです。
for(宣言:式){//ステートメント}宣言:新しい宣言ブロック変数は、アクセスしている配列内の要素と互換性のある変数です。現在の配列要素は同じであるため、変数はforブロックとその値内で使用できます。
式:この計算結果には、ループアレイを完了する必要があります。式は、配列変数または配列を返すメソッドコールです。
例
public class test {public static void main(string args []){int [] numbers = {10、20、30、40、50}; for(int x:numbers){system.out.print(x); System.out.print( "、"); } system.out.print( "/n"); string [] names = {"james"、 "larry"、 "tom"、 "lacy"}; for(string name:name){system.out.print(name); System.out.print( "、"); }}}これにより、次の結果が生成されます。
10、20、30、40、50、ジェームズ、ラリー、トム、レイシー、
キーワードを破ります
キーワードブレイクは、ループ全体を停止するために使用されます。ブレークキーワードは、任意のループまたはスイッチステートメントで使用する必要があります。
キーワードブレークは、最も内側のループの実行を停止し、ブロックの後に次のコード行の実行を開始します。
文法
Break構文は、任意のループの個別のステートメントです。
次のようにコードをコピーします:休憩
例
public class test {public static void main(string args []){int [] numbers = {10、20、30、40、50}; for(int x:numbers){if(x == 30){break; } system.out.print(x); System.out.print( "/n"); }}}これにより、次の結果が生成されます。
1020
キーワードを続けます
Contingキーワードは、リンクの制御構造で使用できます。ループは、ループの次の反復にすぐにジャンプします。
forループでは、続行キーワードにより、制御フローがすぐに更新ステートメントにジャンプします。
しばらくループするか、ループ中、コントロールフローはすぐにブール式にジャンプします。
文法
継続構文は、任意のループの個別のステートメントです。
次のようにコードをコピーします:続行します
例
public static void main(string args []){int [] numbers = {10、20、30、40、50}; for(int x:numbers){if(x == 30){継続; } system.out.print(x); System.out.print( "/n"); }}}これにより、次の結果が生成されます。
10204050
条件付き判断
Javaには、次の2種類の条件付き判断声明があります。
IFステートメント:
IFステートメントは、1つ以上のステートメントが続くブール式の式で構成されています。
文法
IFステートメントの構文は次のとおりです。
if(boolean_expression){//ステートメントは、ブール式が真である場合に実行されます}ブール式の値がtrueの場合、コード内のブロックIFステートメントが実行されます。真でない場合、IFステートメントの終了後の最初のコードセット(ブレースの後)が実行されます。
例
パブリッククラステスト{public static void main(string args []){int x = 10; if(x <20){system.out.print( "これはifステートメント"); }}}これにより、次の結果が生成されます。
これはIFステートメントです
if ... elseステートメント
任意のIFステートメントの後に、オプションのELSEステートメントが続くことができます。ブール式が偽の場合、ステートメントが実行されます。
文法
if ... else isの構文:
if(boolean_expression){// boolean式がtrue}の場合に実行} else {// boolean式がfalseの場合に実行}例
パブリッククラステスト{public static void main(string args []){int x = 30; if(x <20){system.out.print( "これはifステートメント"); } else {system.out.print( "これは他のステートメント"); }}}これにより、次の結果が生成されます。
これは他のステートメントです
if ... else if ... elseステートメント
その後、オプションのelseの場合に続いて... elseステートメント。異なる条件下で単一のIFステートメントとその他のIFステートメントをテストすることは非常に便利です。
if、else、if、elseステートメントを使用する場合、留意すべき点がいくつかあります。
文法
if ... else isの構文:
if(boolean_expression 1){// boolean式1がtrueの場合に実行} else(boolean_expression 2){// boolean式2がtrueの場合に実行}例
パブリッククラステスト{public static void main(string args []){int x = 30; if(x == 10){system.out.print( "xの値は10"); } else if(x == 20){system.out.print( "x of xの値は20"); } else if(x == 30){system.out.print( "x of xの値は30"); } else {system.out.print( "これは他のステートメント"); }}}これにより、次の結果が生成されます。
xの値は30です
ネストされている場合... elseステートメント
これは常に法的ネストされたIF-ELSEステートメントです。つまり、IFまたはIFステートメントを別のIFまたはIFステートメントで使用できます。
文法
ネストされた場合の構文...他のものは次のとおりです。
if(boolean_expression 1){// boolean式1がtrueの場合に実行される(boolean_expression 2){// boolean式2がtrueの場合に実行}}}声明の場合はネストされているため、他の方法で他の方法でネストすることができます。
例
パブリッククラステスト{public static void main(string args []){int x = 30; int y = 10; if(x == 30){if(y == 10){system.out.print( "x = 30およびy = 10"); }}}}これにより、次の結果が生成されます。
x = 30およびy = 10
スイッチステートメント
スイッチステートメントにより、変数は一連の価値の平等をテストすることができます。各値はケースと呼ばれ、開始される変数は各ケースのチェックされます。
文法
拡張されたループの構文は次のとおりです。
switch(expression){case value:// statements break; //オプションのケース値://ステートメントBREAK; //オプション//任意の数のケースステートメントを持つことができます。デフォルト://オプション//ステートメント}スイッチステートメントには、次のルールが適用されます。
例
public class test {public static void main(string args []){// char grade = args [0] .charat(0); char grade = 'c'; switch(grade){case 'a':system.out.println( "Excellent!");壊す;ケース 'B':case 'c':system.out.println( "well done");壊す; case 'd':system.out.println( "you passed"); case 'f':system.out.println( "もう一度やり直してください");壊す;デフォルト:system.out.println( "invalid grade"); } system.out.println( "your grade is" + grade); }}さまざまなコマンドラインパラメーターを使用する上記のプログラムをコンパイルして実行します。これにより、次の結果が生成されます。
$ java testwell成績を実行しましたc