2016/03/02
2025/02/20
for文(繰り返し処理)
目次
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と合計値を表示しています。
以上です。
for文に関するコンテンツ
「for文」に関係があるコンテンツをまとめています。
- 数字「0」から「9」を出力
- 五十音の表作る
- 「AA」から「ZZ」を出力
- 配列の値が全て同じか?
- 配列
- 配列のコピーを作る
- 配列値の反転
- アルファベット「A」から「Z」を出力
- 同じマンハッタン距離の座標をプロット
- xy-座標の描画するクラス
- ビットシフト
- breake文
- バブルソートとは
- 指定数の文字を出力 その1
- 指定数の文字を出力 その2
- 最も近い座標を探す
- 値の比較
- continue文
- カウントダウン
- カウントアップ
- サイコロの出目確率
- 2つのサイコロの出目の和の確率
- ゾロ目の出る確率
- 整数の桁数を求める(for文を使用)
- 0.0に近い値
- do~while文
- 月末の日付を取得
- 1~10の中の偶数
- ファイルのリストを取得
- for文を使うプログラム
- グラフの表示
- RGBの平均値
- 配列の要素数を増やす
- インクリメント、デクリメント演算子
- インデント
- 「じゃんけん」の作成 その2
- 九九(くく)の表を作る
- 九九(くく)の表を作る その3
- 九九(くく)の表を作る その4
- 九九(くく)の表を作る その5
- 値の探索(整数)
- ループ(繰り返し)
- 文字の間違い探し
- トランプの操作
- バビロニアの平方根
- 円周率πを計算で求める その1
- 公約数
- 階乗
- フィボナッチ数列(配列)
- 最大公約数 その1
- 最大公約数 その2
- 格子座標から円周率πを計算
- 円周率πを計算で求める その2
- 数学関数(複数の値の最小値と最大値)
- 数学関数(最頻値)
- ニュートン法で平方根
- ニュートン法で平方根 その2
- ニュートン法で平方根 その3
- 完全数
- 各位(くらい)の値を求める
- 整数の累乗
- 10のN乗かを判定
- 素数リスト作成
- N番目の素数
- 1からNの和
- 数学関数(複数の値の合計と平均)
- モンティ・ホール問題
- 多重ループ
- 足し算とビットシフトによる掛け算
- 画像をセピア色にする
- 画像の一部を切り出す
- N値化
- 最も近い値を取得
- 同じ数の組み合わせ
- 1~10の中の奇数
- 演算子
- 塗りつぶし円
- 円模様(円の整列)
- 円模様2(隙間の少ない整列)
- ポーカーの役判定
- 素因数分解
- クイックソート
- 乱数で文字列を生成
- 神経衰弱 その3
- 神経衰弱 その4
- 神経衰弱 その5
- 空間フィルタリング
- 平方表の作成
- 掛け算なしで平方表の作成
- 平方根表の作成
- 文字の置換
- 剰余(余り)計算プログラム
- 円を描く(テキスト版)
- 市松模様(テキスト版)
- 横縞模様(テキスト版)
- 三角形を描く(テキスト版) その1
- 三角形を描く(テキスト版) その2
- 三角形を描く(テキスト版) その3
- 三角形を描く(テキスト版) その4
- 時間計測
- 三角関数表の作成 その1
- 三角関数表の作成 その2
- 三角関数表の作成 その3
- 閏年(うるうどし)の判定
- 閏年(うるうどし)の判定 その2
- for文で変数名iがよく使われる理由
- 変数名の付け方
- while文
関連コンテンツ
ソースコードを読みやすくするインデントって?
円の中に含まれる格子の数と格子の外の数から円周率πを計算する方法を紹介しています。図とJavaのソースコードでくわしく説明していますので、興味のある方は記事をご覧ください。
このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、フルカラーの画像をセピア色に変換してをJPEGG形式のファイルに保存するプログラムを紹介しています。