[侵入から土壌へのJava]フロー制御ステートメント

フロー制御ステートメント

プログラムの実行中、さまざまなステートメントの実行シーケンスは、プログラムの結果に直接影響します。言い換えれば、プログラムの流れは、操作の結果に直接影響を及ぼします。したがって、各ステートメントの実行フローについて明確にする必要があります。さらに、多くの場合、完了したい機能を実現するために、ステートメントの実行順序を制御する必要があります。
シーケンス構造:

public static void main(String[] args){
    
     
    //顺序执行,根据编写的顺序,从上往下运行 
    System.out.println(1); 
    System.out.println(2); 
    System.out.println(3);
}

判断の声明

ifステートメント

if(关系表达式) {
    
    
    语句体; 
}

実行プロセス
①まず関係式を判断して、結果が真か偽かを確認する
②真の場合は文本体を実行
③偽の場合は文本体を実行しない

if ... elseステートメント

if(关系表达式) {
    
     
    语句体1; 
} else {
    
     
    语句体2; 
}

実行プロセス
①まず関係式を判断して、結果が真か偽かを確認する
②真の場合はステートメント本体1を実行
③偽の場合はステートメント本体2を実行

if…elseif…else语句

if (判断条件1) {
    
     
    执行语句1; 
} else if (判断条件2) {
    
     
    执行语句2; 
} else if (判断条件n) {
    
     
    执行语句n; 
} else {
    
     
    执行语句n+1; 
}

実行プロセス
①最初に条件1を判断して、結果が真か偽かを確認する
②真の場合はステートメント1を実行
③偽の場合は条件2を判断
④真の場合はステートメント2を実行⑤以下同様

ステートメントを選択

スイッチステートメント

switch(表达式) {
    
     
    case 常量值1: 语句体1; break; 
    case 常量值2: 语句体2; break;
    ... 
    default: 语句体n+1; break; 
}

実行プロセス
①は、最初に式
②の値を計算し、次にケースと比較します。対応する値があると、対応するステートメントが実行され、実行プロセスでブレークが終了します。
③最後に、すべてのケースが式の値と一致しない場合、デフォルトのステートメントの本体が実行され、プログラムが終了します。
ケースの貫通可能性
switchステートメントでは、ケースの後にブレークが書き込まれない場合、貫通現象が発生します。つまり、次のケースの値は判断されず、ブレークが発生するか、スイッチ全体が終了するまで直接実行されます。 。

ループステートメント

ループステートメントは、ループ条件が満たされたときに特定のコードを繰り返し実行できます。繰り返し実行されるコードはループ本体ステートメントと呼ばれます。ループ本体が繰り返し実行される場合、ループ判定条件を次のように変更する必要があります。 falseでループを終了します。そうでない場合、ループは実行を継続し、無限のループを形成します。

forループステートメント

for(初始化表达式①; 布尔表达式②; 步进表达式④) {
    
     
	循环体③ 
}

実行プロセス
実行シーケンス:①②③④>②③④>②③④…②不満。
①ループ変数の初期化を完了します
②ループ条件が満たされているかどうかを判断し、満たされていない場合はループから飛び出します
③特定の実行ステートメント
④ループ後、ループ条件に含まれる変数の変更

whileループステートメント

初始化表达式① 
while(布尔表达式②) {
    
     
    循环体③ 
    步进表达式④ 
}

実行プロセス
実行シーケンス:①②③④>②③④>②③④…②不満。
①ループ変数の初期化を完了します。
②サイクル条件が満たされているかどうかを判断する責任があり、満たされていない場合はサイクルから飛び出します。
③特定の実行ステートメント。
④ループ後、ループ変数の変更

do ... whileループステートメント

初始化表达式① 
do {
    
     
    循环体③ 
    步进表达式④ 
} while(布尔表达式②);

実行プロセス
実行シーケンス:①③④>②③④>②③④…②不満。
①ループ変数の初期化を完了します。
②サイクル条件が満たされているかどうかを判断する責任があり、満たされていない場合はサイクルから飛び出します。
③特定の実行ステートメント
④ループ後、ループ変数の変更
は…whileループの特徴
ループ条件を直接falseと記述しても、ループ本体を無条件に1回実行しても1回ループします。このようなループには一定のリスクがあるため、初心者はdo ... whileループを使用することをお勧めしません。

ジャンプステートメント

ジャンプステートメントは、ループ実行中のプログラムフローのジャンプを実現するために使用されます。

ブレークステートメント

使用シナリオ:スイッチまたはループを終了する
①選択した構造のスイッチステートメント
ループステートメント内

public static void main(String[] args) {
    
    
    int x = 1;
    while(x <= 4) {
    
    
        System.out.println("x="+x);
        if(x == 3) {
    
    
            break; //条件成立则跳出循环
        }
        x++;
   }
}

ステートメントを続ける

使用シナリオ:このサイクルを終了し、次のサイクルに進みます

public static void main(String[] args) {
    
    
    int sum = 0;
    for(int i = 1; i <= 100; i++) {
    
    
        if(i % 2 == 0) {
    
    
            continue; //结束本次循环
        }
        sum = sum + i; //求1~100之间的奇数求和
    }
    System.out.println("sum= "+sum);
}

エンドレスループ

つまり、ループ内の条件は常に真であり、エンドレスループは決して終了しないループです。

while(true) {
    
    
    System.out.println("死循环了.....");
}

ネストされたループ

いわゆるネストされたループは、あるループの本体が別のループの本体であることを意味します。たとえば、ネストされたループであるforループ内にforループがあります。総サイクル数=外部サイクル数*内部サイクル数

for(初始化表达式①; 循环条件②; 步进表达式⑦) {
    
     
    for(初始化表达式③; 循环条件④; 步进表达式⑥) {
    
     
        执行语句⑤;
    } 
}

ネストされたループの実行プロセス:
実行シーケンス:①②③④⑤⑤>④⑤⑤>すこと。
たとえば、ロープをスキップします。ジャンプには5つのグループがあり、各グループに10のジャンプがあります。5つのグループが外側のループで、10のグループが内側のループです。

おすすめ

転載: blog.csdn.net/weixin_51678389/article/details/109155540