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;
}
}
}
}
Javaのwhileループで「break」および「continue」ステートメントを使用する必要があるのはなぜですか?
そうではありません。
使用する必要があるのはbreak
、continue
ステートメントが適用したいロジックをカバーするのに十分でない場合のみです。
必ずしも悪いという意味ではありませんが、使いすぎてコードが単純になる場合があります。
たとえば、コードを見てください。
1)それcontinue
は無力です。ステートメントの
後、if
ループが続きます。それはまさに何をするのかcontinue
です。ステートメントの後にいくつかのステートメントelse
があり、実行しない場合は意味がありますが、そうではありません。
2)break
も削除できます。条件がループの終了を考慮していない
ため、中断しwhile
ます。
一方でx < 21
、x
インクリメントけどとしてされx
た後、この値を保持しますので、while (x <= 21){
常にtrueになります。
したがってwhile
、無限ループを回避するために、ブロックを終了する方法を見つける必要があります。
あなたはでそうbreak
しelse
ます。
条件が終了条件を処理する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]
コメントを追加