2016/03/02
for文(繰り返し処理)
はじめに
for文は、処理を繰り返すために使用します。
繰り返す回数は、初期化式と継続条件式と変化式で決まり、その一般的な書き方は、以下のとおりです。
一般的な書き方
以下は、{ ~ }の波括弧で囲まれている範囲の全ての処理文を繰り返し実行する書き方です。
for ( 初期化式; 継続条件式; 変化式 ) { 処理文1; 処理文2; : }
以下は、波括弧を使わないで1行の処理文を繰り返し実行する書き方です。
for ( 初期化式; 継続条件式; 変化式 )
処理文;
Javaソースコード その1
ForSample1.java
001 002 003 004 005 006 007 008 009
public class ForSample1 { public static void main( String[] args ) { // 10回の繰り返し for ( int i = 1; i <= 10; ++ i ) { // 処理文 System.out.println( "繰り返し回数:" + i ); } } }
実行結果 その1
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis ForSample1.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac ForSample1.java
実行
C:\talavax\javasample>java ForSample1
出力結果
繰り返し回数:1 繰り返し回数:2 繰り返し回数:3 繰り返し回数:4 繰り返し回数:5 繰り返し回数:6 繰り返し回数:7 繰り返し回数:8 繰り返し回数:9 繰り返し回数:10
Javaソースコードの解説 その1
003 004
// 10回の繰り返し for ( int i = 1; i <= 10; ++ i ) {
int i=1は、初期化式で、整数型の変数iに1を代入しています。i<=10は、継続条件式で、変数iが10以下であれば繰り返し処理を継続することを表しています。++iは、変化式で、変数iに1を足しています。これをi++ 、i=i+1と書いても同じ動作をします。
005 006
// 処理文 System.out.println( "繰り返し回数:" + i );
System.out.println( "繰り返し回数:" + i );は処理文で、繰り返し処理される文です。この例では、処理文は1行だけですが、{ ~ }の波括弧で囲まれている範囲に複数行の処理文を書くことができます。波括弧が無いfor文は、1行の処理文を繰り返す処理になります。
次にfor文の継続条件式が決められない場合について、解説します。
Javaソースコード その2
ForSample2.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021
public class ForSample2 { public static void main( String[] args ) { // 使用する変数を宣言 int n, total; // 合計値totalに0を代入 total = 0; // 繰り返し処理 for ( n = 1; ; ++ n ) { // 処理文 // 変数totalにnを足していく total = total + n; // 変数totalが5000以上になったらforを終了 if ( 5000 <= total ) break; } // 結果の表示 System.out.println( "n :" + n ); System.out.println( "合計:" + total ); } }
実行結果 その2
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis ForSample2.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac ForSample2.java
実行
C:\talavax\javasample>java ForSample2
出力結果
n :100 合計:5050
Javaソースコードの解説 その2
003 004
// 使用する変数を宣言 int n, total;
使用する変数を宣言しています。
006 007
// 合計値totalに0を代入
total = 0;
009 010
// 繰り返し処理 for ( n = 1; ; ++ n ) {
n=1は、初期化式で、整数型の変数nに1を代入しています。継続条件式には何も書いていません。++nは、変化式で、変数nに1を足しています。このように継続条件式が省略されたfor文は終了することが出来ないので、無限ループと呼ばれます。
012 013
// 変数totalにnを足していく
total = total + n;
合計値totalにnを足しています。
014 015
// 変数totalが5000以上になったらforを終了
if ( 5000 <= total ) break;
017 018 019
// 結果の表示 System.out.println( "n :" + n ); System.out.println( "合計:" + total );
nと合計値を表示しています。
以上です。
関連コンテンツ
ソースコードを読みやすくするインデントって?
円の中に含まれる格子の数と格子の外の数から円周率πを計算する方法を紹介しています。図とJavaのソースコードでくわしく説明していますので、興味のある方は記事をご覧ください。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、フルカラーの画像をセピア色に変換してをJPEGG形式のファイルに保存するプログラムを紹介しています。