私のコードには、for条件を満たすまでコードのメソッドを反復処理するforループがあります。
とにかくこのforループから抜け出す方法はありますか?
次のコードを見て、「15」に達したときにこのforループから抜け出したいとしたらどうでしょうか。
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");
}
}
}
Outputs:
value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19
私は次のことを試してみました:
public class Test {
public static void main(String args[]) {
boolean breakLoop = false;
while (!breakLoop) {
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
if (x = 15) {
breakLoop = true;
}
}
}
}
}
そして、私はループを試しました:
public class Test {
public static void main(String args[]) {
breakLoop:
for(int x = 10; x < 20; x = x+1) {
System.out.print("value of x : " + x );
System.out.print("\n");
if (x = 15) {
break breakLoop;
}
}
}
}
私が望んでいることを達成できる唯一の方法は、forループから抜け出すことです。しばらくループ、do、ifなどのステートメントを置き換えることはできません。
編集:
これは例としてのみ提供されたもので、これを実装しようとしているコードではありません。各ループが初期化される場所の後に複数のIFステートメントを配置することで、問題を解決しました。ブレークの欠如によりループの一部から飛び出す前に;
break;
は、for
、while
、do-while
などのループステートメントから抜け出すために必要なものです。
あなたの場合、次のようになります:
for(int x = 10; x < 20; x++) {
// The below condition can be present before or after your sysouts, depending on your needs.
if(x == 15){
break; // A unlabeled break is enough. You don't need a labeled break here.
}
System.out.print("value of x : " + x );
System.out.print("\n");
}
次を使用できます。
for (int x = 0; x < 10; x++) {
if (x == 5) { // If x is 5, then break it.
break;
}
}
何らかの理由でbreak命令を使用したくない場合(たとえば、次にプログラムを読むときに読み取りフローが中断されると思われる場合)、次を試してください:
boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
System.out.println(i);
if (i == 20) {
test = false;
}
}
Forループの2番目の引数はブールテストです。テストの結果が真の場合、ループは停止します。必要に応じて、単純な数学テスト以上のものを使用できます。そうでなければ、他の人が言ったように、単純な休憩でもトリックを行います:
for (int i = 0; i < 1220 ; i++) {
System.out.println(i);
if (i == 20) {
break;
}
}
どう?
for (int k = 0; k < 10; k = k + 2) {
if (k == 2) {
break;
}
System.out.println(k);
}
他の方法はlabelledループです
myloop: for (int i=0; i < 5; i++) {
for (int j=0; j < 5; j++) {
if (i * j > 6) {
System.out.println("Breaking");
break myloop;
}
System.out.println(i + " " + j);
}
}
より良い説明については、 here を確認できます
public class Test {
public static void main(String args[]) {
for(int x = 10; x < 20; x = x+1) {
if(x==15)
break;
System.out.print("value of x : " + x );
System.out.print("\n");
}
}
}