Javaのwhileループで「break」ステートメントと「continue」ステートメントを使用する必要があるのはなぜですか。

ルーク・ブレビンズ

if / elseステートメントを内部に含むJavawhileループ(以下に含まれています)を作成する場合、コードを続行するためにbreak;andcontinue;ステートメントを使用する必要があるのはなぜですか?

break;ステートメントがないと、else結果が無限に表示されるだけであることに気づきました

たとえば、コードがelseステートメントから直接実行されるのはなぜですか?

私は休憩して何を続けるかを知っています、私はそれらの使用法をよりよく理解する必要があります。

public class TheClass {

    public static void main(String[] args) {

        int x = 0;
        while (x <= 21){
            if(x < 21){
                System.out.println("You cannot drink because you are only " + x + " years old.");
                x++;
                continue;
            }else{
                System.out.println("You may drink because you are " + x + " years old.");
                break;
            }
        }

    }

}
davidxxx

Javaのwhileループで「break」および「continue」ステートメントを使用する必要があるのはなぜですか?

そうではありません。
使用する必要があるのはbreakcontinueステートメントが適用したいロジックをカバーするのに十分でない場合のみです。
必ずしも悪いという意味ではありませんが、使いすぎてコードが単純になる場合があります。
たとえば、コードを見てください。

1)それcontinueは無力です。ステートメントの
後、ifループが続きます。それはまさに何をするのかcontinueです。ステートメントの後にいくつかのステートメントelseがあり、実行しない場合は意味がありますが、そうではありません。

2)breakも削除できます。条件がループの終了を考慮していない
ため、中断しwhileます。
一方でx < 21xインクリメントけどとしてされxた後、この値を保持しますので、while (x <= 21){常にtrueになります。

したがってwhile、無限ループを回避するために、ブロック終了する方法を見つける必要があります。
あなたはでそうbreakelseます。

条件が終了条件を処理するbreak場合は、同じロジックを記述できwhileます。予想される年齢に達したときにループを終了する自然な方法を提供
するboolean変数を導入することで、それを行うことができます

int x = 0;
boolean isAgeReached = false;

while (!isAgeReached) {
    if (x < 21) {
      System.out.println("You cannot drink because you are only " + x + " years old.");
      x++;

    } 
     else {
       System.out.println("You may drink because you are " + x + " years old.");
       isAgeReached = true;
    }
}

またはさらに簡単:

int x = 0;
while (x < 21) {
    System.out.println("You cannot drink because you are only " + x + " years old.");
    x++;
}

System.out.println("You may drink because you are " + x + " years old.");

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ