ホームページ >Java >&#&チュートリアル >Javaのフロー制御文の例を詳しく解説
プログラムの構造分類:
シーケンシャル構造: コードが書かれた順に一度実行
選択構造: 異なる条件に従って異なるコードを選択的に実行
ループ構造: 特定の条件下で特定のコードを繰り返し実行
選択構造 :
分岐構造とも呼ばれ、Java には 2 つの if 構造と switch 構造
if が 3 つの形式に分かれています。 if の 1 番目の形式: if(条件){
if の 2 番目の形式:if (条件) {
文ブロック 1
}else{
文ブロック 2 }
実行プロセス:
1 public static void main(String[] args) { 2 System.out.println("开始"); 3 // 定义两个变量 4 int a = 10; 5 int b = 20; 6 7 if (a == b) { 8 System.out.println("a等于b"); 9 }10 11 int c = 10;12 if (a == c) {13 System.out.println("a等于c");14 }15 16 System.out.println("结束");17 }if ステートメントの 3 番目の形式。 :
if (条件1) {
文ブロック1
} else if(条件2){
文ブロック2
}else if(条件3){
} ... else if(条件n){
文ブロックn
}
実行処理:
まず条件1を判定し、真であれば文ブロック1を実行、実行後ジャンプif 構造全体を取り出して、if の下のステートメントを実行します。そうでない場合は、条件 2 を判定します。
条件 2 が true の場合、ステートメント ブロック 2 を実行し、実行後に if 構造全体が If 条件 2 の下のステートメントを実行します。が false の場合、条件 3 が判定されます。 true の場合... 条件 n が false と判定された場合、
次に else のステートメント ブロック n+1 を実行します
コードのデモ:
x との関係y は以下を満たします:
x>=3 y = 2x + 1;
-1 x 指定された x の値に従って、次を計算します。 yの値を取得して出力します。
1 public static void main(String[] args) { 2 System.out.println("开始"); 3 // 判断给定的数据是奇数还是偶数 4 // 定义变量 5 int a = 100; 6 // 给a重新赋值 7 a = 99; 8 9 if (a % 2 == 0) {10 System.out.println("a是偶数");11 } else {12 System.out.println("a是奇数");13 }14 15 System.out.println("结束");16 }
構文構造
switch(式){
case 目標値 1:
ステートブロック 1
break;
case 目標値 2: ステートメントブロック 2 break;
ケース対象値3:
ステートメントブロック3
ブレーク;等しいターゲット値が見つかった場合は比較を停止し、
対応するステートメント ブロックを実行してから、break を実行してスイッチ構造全体から飛び出します。上から下まで比較したときに A と等しいターゲット値がない場合は、
ステートメント ブロック n を実行します。 +1 で終了スイッチ
式: 式の結果、JDK1.1~1.4 時代の式の結果 データ型は char byte short int のみ可能 JDK1.5~ 1.6 時代では、式の結果のデータ型は char byte short int enum (列挙型) のみです
JDK1.7+ 時代では、式の結果のデータ型は char byte short int enum (列挙型) のみです, String (文字列)
ターゲット値:
ターゲット値のデータ型は式結果のデータ型と一致する必要があります
ターゲット値を繰り返すことはできません
コードデモ:
値によると1 、2、3...7をキーボードで入力し、対応する月曜日、火曜日、水曜日...日曜日を出力します
1 public static void main(String[] args) { 2 3 int x = 5; 4 int y; 5 if (x >= 3) { 6 y = 2 * x + 1; 7 } else if (x >= -1 && x < 3) { 8 y = 2 * x; 9 } else {10 y = 2 * x - 1;11 }12 13 System.out.println("y的值是:"+y);14 }
ループ終了 (条件)
ループ本体 ループ増分 3 つのループ構造があります:
for ループ while ループ do...while ループ
for ループ:
構文形式: for (初期化文; 条件; ステップ式) {
ループ本体
}
実行処理: ステップ1: 初期化文
ステップ2: 条件を決定し、条件が真である場合に入力 ステップ3:条件が false の場合は、ステップ 5 に進みます
ステップ 3: ループ本体を実行します
ステップ 4: ステップ式を実行してステップ 2 に入ります ステップ 5: ループを終了します
りー
while 循環:
语法结构:
初始化语句
while(条件){
循環环体
步进语句
}
执行程:
第一步: 初始化语句
第二步: 判断条件、条件が true の場合は 3 番目のステップに進み、条件が false の場合は 5 番目のステップに進みます。 ステップ 4: ステップ ステートメントを実行して、2 番目のステップに進みます。 End. Loop
do ... while ループ
文法形式: 初期化ステートメント
do{
ループ本体 ステップステートメント
}while (条件)
実行プロセス:
ステップ 1: 初期化ステートメント
章1 ステップ 2: ループ本体を実行します
ステップ 3: ステップ ステートメントを実行します
ステップ 4: 条件を判断し、条件が true の場合はステップ 2 に進み、そうでない場合はステップ 5 に進みます
ステップ 5: ループを終了します
3 つの方法 ループの違い:
do...while ループはループ本体を少なくとも 1 回実行します。 for ループと while ループは、条件が成立した場合にのみループ本体を実行します。 for ループ ステートメントと while ループ ステートメントの小さな違い:
使用法の違い: 条件ステートメントの後に制御される変数を制御します。 for ループが終了すると、
アクセスできなくなります。 while ループが終了した後も引き続き使用できます。継続して使用したい場合は while を使用し、それ以外の場合は for を使用することをお勧めします。理由は、for ループが終了すると変数がメモリから消えるため、メモリの使用効率が向上するからです。
-- while -- do..while にはループを使用することをお勧めします
Jump ステートメントはループの実行を制御できます:
2 つのタイプがあります
ループ内で使用すると、現在のループを終了します switch ステートメント内 現在の switch 構造から飛び出すという意味で使用されます
continue: ループ内で使用され、このループを終了して次のループに進むことを意味します には意味がありませんループから抜け出す
以上がJavaのフロー制御文の例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。