204

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

4

6 に答える 6

390
continue;

continue;キーワードは、呼び出し時に次の反復を開始します

例えば

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

これは印刷されます

0134

見る

于 2012-06-22T17:10:16.560 に答える
66

これを試して、

  1. 特定の反復をスキップする場合は、 を使用しますcontinue

  2. 即時ループから抜け出したい場合は、break

  3. 外側と内側の 2 つのループがあり、内側のループから両方のループを抜け出したい場合は、ラベル付きで break を使用します(ラベルに関する別の質問)。


例:

継続する

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;
        }
     }
  }
     
于 2012-06-22T17:12:40.400 に答える
43

現在の反復をスキップする場合は、 を使用します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;
        }
     }
  }
于 2013-10-25T20:58:01.130 に答える
10

他のすべての回答で述べたように、キーワード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();
}
于 2012-06-22T17:21:04.280 に答える
3

continueキーワードを使用します。ここを読んでください。

continue ステートメントは、for、while、または do-while ループの現在の反復をスキップします。

于 2012-06-22T17:10:54.927 に答える
1

continueキーワードを使用します。

元:

for(int i = 0; i < 10; i++){
  if(i == 5){
    continue;
   }
}
于 2012-06-22T17:12:14.973 に答える