こんにちは!ISAMU(@burlesca_isa)です!
今回はjavaのfor文の使い方(拡張 ネスト 繰り返し制御文)について勉強していきます。
javaの拡張for文の使い方(拡張)
拡張for文は配列やコレクションの要素を順番に取り出して処理します。
for文に比べ記述が簡素なので、可読性が増します。
構文
for( ①変数宣言 : ②参照変数名){
③処理文;
}
①変数宣言には②参照変数名から取り出された要素が代入されます。
参照変数名には配列やコレクションなどの変数名を記述します。
変数宣言のデータ型には参照変数の各要素のデータ型に合わせる必要があります。
参照変数名に記述した配列などから要素を一つずつ取り出され、
変数宣言の変数に代入されます。
サンプルプログラム
制御文のネスト
繰り返し文の処理ブロックの中には制御文を記述することが出来ます。
これをネストと呼びます。
ネストすることによって複雑な処理をプログラミングすることが出来るようになります。
繰り返し文の中に繰り返し文を入れることも可能です。
サンプルプログラム
for文の中にif文をネストしています。
for文はカウンタ変数が10未満の場合に処理を繰り返します。
if文では偶数の場合にコンソールに出力する処理を記述しています。
繰り返し制御文
繰り返し中に繰り返し制御文を使用することにより、
処理から抜けたりスキップすることが出来ます。
繰り返し制御文には
- break文
- continue文
2種類が存在します。
break文
break文は繰り返し処理を中断して抜け出す事ができます。
ループから抜けて、繰り返し処理の次の命令文が実行されます。
無限ループから抜け出すためにbreakを記述することも出来ます。
例えば、無限ループを作成し、
条件文がtrueの場合に無限ループから抜け出すなどの処理を作成するなどのプログラムを作成することが出来ます。
サンプルプログラム
変数iが100になった場合に無限ループを抜けるプログラムです。
forの条件文にtrueを記述することで無限ループにすることが出来ます。
continue文
continue文移行に記述された処理をスキップして、条件式に制御を移します。
break文は繰り返し処理を中断しますが、continue文は処理をスキップして再び繰り返しが実行されます。
サンプルプログラム
for文の中でif文をネストしています。
ifの条件式は奇数の場合はtrueとなりcontinueが実行されます。
8行目のSystem.out.printlnは実行されずにforの条件式からループが再スタートします。