このキーワードを初めて見たとき、誰かに説明してもらえないかと思っていました。
continue
キーワードは何ですか?- それはどのように機能しますか?
- いつ使用されますか?
このキーワードを初めて見たとき、誰かに説明してもらえないかと思っていました。
continue
キーワードは何ですか?回答:
continue
ラベルのない文では、条件最も内側から再実行しますwhile
かdo
ループ、および最も内側の更新式からfor
ループ。多くの場合、ループの処理を早期終了し、深くネストされたif
ステートメントを回避するために使用されます。次の例でcontinue
は、ループ内の次のステートメントを処理せずに、次の行を取得します。
while (getNext(line)) {
if (line.isEmpty() || line.isComment())
continue;
// More code here
}
ラベルを使用continue
すると、最も内側のループではなく、対応するラベルを持つループから再実行されます。これは、深くネストされたループをエスケープするために、または単に明確にするために使用できます。
continue
空のループ本体をより明確にするために、プレースホルダーとして使用されることもあります。
for (count = 0; foo.moreData(); count++)
continue;
ラベルなしの同じステートメントは、CおよびC ++にも存在します。Perlで同等のものはnext
です。
このタイプの制御フローは推奨されませんが、選択した場合は、を使用continue
しての限られた形式をシミュレートすることもできますgoto
。次の例でcontinue
は、空のfor (;;)
ループを再実行します。
aLoopName: for (;;) {
// ...
while (someCondition)
// ...
if (otherCondition)
continue aLoopName;
一般的に、私はcontinue
(そしてbreak
)コードが何らかのリファクタリングを使用する可能性があるという警告として(特に、while
またはfor
ループ宣言がすぐに見えない。return
メソッドの途中でも同じことが言えますが、理由は少し異なります。
他の人がすでに言ったように、 continue
に、ループの次の反復にbreak
移動し、外側のループから移動します。
continue
/ break
と、それが継続している/壊れているループとの間にコンテキスト以外の即時リンクがないため、これらはメンテナンス時限爆弾になる可能性があります。内側のループを追加するか、ループの「根本」を別のメソッドに移動すると、continue
/がbreak
失敗ます。
私見、最後の手段として使用することをお勧めします。次に、ループの最初または最後でそれらの使用がしっかりとグループ化されていることを確認して、次の開発者が1つの画面でループの「境界」を確認できるようにします。 。
continue
、break
、およびreturn
「隠された型GOTO」の一般的なカテゴリにすべての秋(あなたのメソッドの最後で唯一の真のリターンを除きます)。彼らはループと機能制御を予期しない場所に置き、それが最終的にバグを引き起こします。
すでに述べたようcontinue
に、その下のコードの処理はスキップされ、ループが終了するまでスキップされます。次に、ループの条件に移動し、この条件がまだ保持されている場合(またはフラグがある場合は、指定されたループの条件)に次の反復を実行します。
ループの開始時ではなく、のdo - while
後に一番下の条件に移動した場合は強調表示する必要がcontinue
あります。
これが、多くの人が次のコードが生成するものに正しく答えられない理由です。
Random r = new Random();
Set<Integer> aSet= new HashSet<Integer>();
int anInt;
do {
anInt = r.nextInt(10);
if (anInt % 2 == 0)
continue;
System.out.println(anInt);
} while (aSet.add(anInt));
System.out.println(aSet);
*あなたの答えがaSet
奇数しか含まれていない場合は100%...あなたは間違っています!
続行がキーワードです Javaのであり、現在の反復をスキップするために使用されます。
1から100までのすべての奇数を印刷するとします。
public class Main {
public static void main(String args[]) {
//Program to print all odd numbers from 1 to 100
for(int i=1 ; i<=100 ; i++) {
if(i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}
上記のプログラムのcontinueステートメントは、iが偶数の場合は反復をスキップし、奇数の場合はiの値を出力します。
Continueステートメントは、ループ内の残りのステートメントを実行せずにループから抜け出し、次の反復をトリガーします。
If Else条件を考えます。continueステートメントは、条件にあるものを実行し、条件から抜け出します。つまり、次の反復または条件にジャンプします。しかし、ブレイクはループを去ります。次のプログラムを検討してください。」
public class ContinueBreak {
public static void main(String[] args) {
String[] table={"aa","bb","cc","dd"};
for(String ss:table){
if("bb".equals(ss)){
continue;
}
System.out.println(ss);
if("cc".equals(ss)){
break;
}
}
System.out.println("Out of the loop.");
}
}
次のように出力されます:aa ccループの外。
continue(After if。)の代わりにbreakを使用すると、aaが出力され、ループから抜けます。
条件「bb」がssと等しい場合:続行の場合:次の反復、つまり「cc」.equals(ss)に進みます。休憩の場合:ループから出て、「ループから出ました」と出力します。
break
パーティーには少し遅れますが...
これcontinue
は、ループを制御する条件式ですべての作業が行われる空のループに役立つことは言及に値します。例えば:
while ((buffer[i++] = readChar()) >= 0)
continue;
この場合、文字の読み取りと追加のすべての作業はbuffer
、while
ループを制御する式で行われます。このcontinue
ステートメントは、ループに本体が必要ないことを視覚的に示します。
それは同等のものより少し明白です:
while (...)
{ }
次のような空のステートメントを使用するよりも間違いなく優れた(そして安全な)コーディングスタイル
while (...)
;
while
がwhile
節の本体になり、視覚的にわかりにくくなります。明示的であることcontinue
は明白であり、空のステートメントではそうではないという意図を伝えます。
基本的にJavaでは、continueはステートメントです。したがって、continueステートメントは通常、現在の反復をスキップするためにループで使用されます。
Javaでいつどのように使用するかについては、以下のリンクを参照してください。例を挙げて説明しています。
https://www.flowerbrackets.com/continue-java-example/
それが役に立てば幸い !!
continue
ループ内にある必要がありますそれ以外の場合は以下のエラーが表示されます:
ループの外で続行
ループの次の反復にすぐにジャンプする必要がある場合、continueステートメントはループ制御構造で使用されます。
forループまたはwhileループで使用できます。Javaのcontinueステートメントは、ループを継続するために使用されます。プログラムの現在のフローを続行し、指定された条件で残りのコードをスキップします。
内側のループの場合、それは内側のループのみを継続します。
forループ、whileループ、do-whileループなど、あらゆるタイプのループでJavaのcontinueステートメントを使用できます。
例えば
class Example{
public static void main(String args[]){
System.out.println("Start");
for(int i=0; i<10; i++){
if(i==5){continue;}
System.out.println("i : "+i);
}
System.out.println("End.");
}
}
出力:
Start
i : 0
i : 1
i : 2
i : 3
i : 4
i : 6
i : 7
i : 8
i : 9
End.
[5番はスキップ]