web-dev-qa-db-ja.com

JavaのForループの次の繰り返し

Forループの残りをスキップするトークンがJavaにありますか? Javaでは VB's Continue のようなものです。

158
user1277170
continue;

continue; key Wordは呼び出し時に次の繰り返しを開始します

for(int i= 0 ; i < 5; i++){
 if(i==2){
  continue;
 }
System.out.print(i);
}

これは印刷されます

0134

を参照

309
Jigar Joshi

これを試して、

1. If you want to skip a particular iteration, use continue.

2. If you want to break out of the immediate loop use break

3 If there are 2 loop, outer and inner.... and you want to break out of both the loop fromthe inner loop, use break with label.

例えば:

続き

for(int i=0 ; i<5 ; i++){

    if (i==2){

      continue;
    }
 }

例えば:

休憩

for(int i=0 ; i<5 ; i++){

        if (i==2){

          break;
        }
     }

例えば:

ラベルで区切る

lab1: for(int j=0 ; j<5 ; j++){
     for(int i=0 ; i<5 ; i++){

        if (i==2){

          break lab1;
        }
     }
  }
47

現在の繰り返しをスキップしたい場合は、continue;を使用してください。

for(int i = 0; i < 5; i++){
    if (i == 2){
        continue;
    }
 }

ループ全体から抜け出す必要がありますか? break;を使う

for(int i = 0; i < 5; i++){
    if (i == 2){
        break;
    }
}

複数のループから抜け出す必要がある場合はbreak someLabel;を使用してください

outerLoop:                                           // Label the loop
for(int j = 0; j < 5; j++){
     for(int i = 0; i < 5; i++){
        if (i==2){
          break outerLoop;
        }
     }
  }

*この場合、ジャンプするコード内のポイントにマークを付けるのではなく、ループにラベルを付けるのです。そのため、中断後もコードはループの直後に続きます。

ネストしたループで1回の繰り返しをスキップする必要がある場合はcontinue someLabel;を使用しますが、それらすべてを組み合わせることもできます。

outerLoop:
for(int j = 0; j < 10; j++){
     innerLoop:
     for(int i = 0; i < 10; i++){
        if (i + j == 2){
          continue innerLoop;
        }
        if (i + j == 4){
          continue outerLoop;
        }
        if (i + j == 6){
          break innerLoop;
        }
        if (i + j == 8){
          break outerLoop;
        }
     }
  }
33
nana

他のすべての回答で述べたように、キーワードcontinueは現在の反復の最後までスキップします。

さらに、ループの開始位置にラベルを付けてから、continue [labelname];またはbreak [labelname];を使用して、入れ子になったループで何が起こっているのかを制御することもできます。

loop1: for (int i = 1; i < 10; i++) {
    loop2: for (int j = 1; j < 10; j++) {
        if (i + j == 10)
            continue loop1;

        System.out.print(j);
    }
    System.out.println();
}
8
Wormbo

continueキーワードを使用してください。 こちら を読んでください。

Continueステートメントは、for、while、またはdo-whileループの現在の繰り返しをスキップします。

3
Kazekage Gaara

continue キーワードを使用してください。

EX:

for(int i = 0; i < 10; i++){
  if(i == 5){
    continue;
   }
}
1
Sumit Singh