初心者向けのJava講座です。一緒にJavaを勉強しませんか?
はじめてのJava入門初心者向けのJava講座 |
continue文
continue文は現在行われているループ処理の中において、後続の処理を飛ばし
条件式に戻りループを続けます。
記述の仕方は、後続の処理を飛ばしたいところにcontinue;と記述するだけです。
while文やdo while文 for文に関してはループ内のブロック内にcontinue;と記述すると、
そのループの条件式に制御が移ります。
では、サンプルプログラムを見ていきます。
サンプルプログラム(Sample36.java)
class Sample36{
public static void main(String args[]){
System.out.println("2の倍数の時は制御が条件式に移ります");
int i = 0;
while(i < 10){
i++;
if((i % 2) ==0){
continue;
}
System.out.println("iの値は" + i);
}
}
}
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます。
実行結果はこのようになります。
i % 2 は 算術演算子の 剰余算 でしたね! つまりif文は i % 2 == 0で
もし、 i % 2 が 0 の場合はcontinue しなさいの意味になります 。
つまり2で割り切れるときは制御を条件式に戻しなさいということです。
下の表を見てください
i の値 |
if文の評価 |
処理内容 |
出力結果 |
i = 1 |
if(1 % 2) == 0(false) |
i の値は1 |
|
i = 2 |
if(2 % 2) == 0(true) |
continueで次の制御に移る |
ここの処理はされない |
i = 3 |
if(3 % 2) == 0(false) |
i の値は3 |
|
i = 4 |
if(4 % 2) == 0(true) |
continueで次の制御に移る |
ここの処理はされない |
i = 5 |
if(5 % 2) == 0(false) |
i の値は5 |
|
i = 6 |
if(6 % 2) == 0(true) |
continueで次の制御に移る |
ここの処理はされない |
i = 7 |
if(7 % 2) == 0(false) |
i の値は7 |
|
i = 8 |
if(8 % 2) == 0(true) |
continueで次の制御に移る |
ここの処理はされない |
i = 9 |
if(9 % 2) == 0(false) |
i の値は9 |
|
i = 10 |
i は10により終了 |
したがってiの値は出力されません。
では、今度はfor文でのcontinue;の制御の仕方を見ていきましょう。
基本的な考え方はwhile文と同じです。
サンプルプログラム(Sample36_1.java)
class Sample36_1{ public static void main(String args[]){ System.out.println("2の倍数のときは制御が条件式に移ります");
for(int i = 0; i < 10; i++){ if((i % 2) == 0){ continue; } System.out.println("i の値は" + i);
} } }
プログラムをコピーする場合すべて選択をクリックしてください。
Sponsored link
コンパイル・実行してみます。
ただ、Sample36.javaをfor文に書き換えただけなので出力結果は同じになります。