2016/03/02

for文(繰り返し処理)

はじめに

for文は、処理を繰り返すために使用します。

繰り返す回数は、初期化式継続条件式変化式で決まり、その一般的な書き方は、以下のとおりです。

一般的な書き方

以下は、{ ~ }の波括弧で囲まれている範囲の全ての処理文を繰り返し実行する書き方です。

    for ( 初期化式; 継続条件式; 変化式 ) {
        処理文1;
        処理文2;
           :
    }
for文の動き

以下は、波括弧を使わないで1行の処理文を繰り返し実行する書き方です。

	for ( 初期化式; 継続条件式; 変化式 ) 
		処理文;

Javaソースコード その1

ここからは、for文を使用したサンプルのJavaソースコードで使い方を解説していきます。以下がそのソースコードで、処理を10回繰り返すようにしたものです。

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

以下のサンプルソースコードは、1+2+3+・・・+nと足した合計値を求め、その値が5000以上になったときのnと、その合計値を表示するものです。

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;

合計値を格納する変数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;

if文で、合計値totalが5000以上かどうかを判定し、5000以上であればbreak文for文を抜けます。

017
018
019
		// 結果の表示
		System.out.println( "n   :" + n );
		System.out.println( "合計:" + total );

nと合計値を表示しています。

以上です。

関連コンテンツ

for文などのループ中に、さらにループがある多重ループについて解説しています。

2021.02.09

整数型の変数に1を足すインクリメント、1つ引くデクリメントについて詳しく説明しています。

2020.03.23

メソッドを抜けるときに使用するreturn文について説明しています。

2020.03.20

繰り返し処理(ループ)から強制的に抜けかたについて解説しています。

2017.07.14

繰り返し処理を制御するための機能の1つである「continue」について詳しく解説しています。

2019.10.16

プログラミング、ITに関する用語をまとめています。

2022.10.17

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

条件式を判断して処理を分岐する方法を詳しく説明しています。

2023.03.20

Javaのプログラムを作ってみませんか?プログラミングに必要なものの用意から実行までを説明しています。

2020.03.23

Javaの学習に役立つソースコードを多数紹介しています。是非、ご覧ください。

2022.09.10

Swingパッケージを使ってグラフィック表示を行う方法を解説しています。

2020.03.23

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

繰り返し処理を使ったJavaのソースコードサンプルを紹介しています。

2020.03.23

配列を使うJavaソースコードを多数紹介しています。

2021.05.18

数学に関係するJavaのメソッドやソースコードなどを紹介しています。

2022.10.25

三角形、台形、円などいろいろな図形の面積を計算するプログラムを紹介しています。詳しくは、記事をご覧ください。

2021.05.18

StringクラスとStringBuilderクラスを利用したプログラミングの仕方を紹介しています。

2016.12.16

Javaを使った簡単な応用プログラム(生年月日から年齢を計算プログラムなど)を紹介しています。

2022.07.07

日本で使われてきた伝統文様「和柄」について解説しています。

2022.07.27

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

for文で変数名iがよく使われる理由について説明しています。興味のある方は是非。

2022.08.29

繰り返し処理の作り方を解説しています。

2016.03.02

自然数と整数って何が違う?

2020.03.23

複数の数値の合計値と平均値を計算するプログラムをJavaのソースコードを使って解説しています。

2020.03.23

「ゆるゆるプログラム」のコンテンツを紹介しています。興味のある方はこの記事をご覧ください。

2020.03.23

数字の'0'~'9'を横に並べて出力するJavaソースコード紹介します。

2024.06.28

ひらがなの50音表を作ってみませんか?Javaのソースコードを使って詳しく説明しています。

2021.07.29

'AA'~'ZZ'を並べた表を出力するJavaソースコード紹介しています。'aa'~'zz'の表の作り方も解説しています。

2024.07.03

同じ型の変数(データ)を複数個まとめて管理するデータの持ちかたがあります。これが配列です。くわしくは、記事をご覧ください。

2016.01.14

配列をそのままコピーするメソッドの作り方をソースコードを使って詳しく解説しています。

2019.01.03

配列に格納されている値の順番を逆にする反転処理を行うプログラムを紹介しています。Javaのソースコードを使って詳しく解説しています。

2019.09.03

大文字/小文字のアルファベットを出力する方法を詳しく解説しています。

2024.02.01

指定した基準座標から、指定したマンハッタン距離にある座標に●を描画!

2023.02.15

Graphicsオブジェクトにxy-座標とグリッド(格子)を描画するクラスを作成しました。Javaのソースコードで詳しく解説しています。

2023.01.24

ソート(並び替え)アルゴリズムの1つであるバブルソート(bubble sort)について詳しく解説しています。Javaのソースコード付きです。

2023.01.13

コマンドライン引数で指定した文字数の'*'を出力するプログラミングの方法を説明します。

2024.1.2

キーボードで入力した文字数の'*'を出力するプログラミングの方法を説明します。

2024.1.2

基準とする座標に最も近い座標を複数の座標から探す方法は?

2021.03.10

2つの値を比較する方法を解説しています。与えられた2つの値が同じか、大きいか、小さいかを判定します。

2019.08.04

for文を使って、数字を順番に減らす方法を詳しく説明しています。

2022.08.28

for文を使って、数字を順番に増やす方法を詳しく説明しています。

2022.08.28

1から6のサイコロの目が出る確率を割り出すプログラムの作りかたを解説しています。

2020.05.07

2つのサイコロを振って同じ目が出る確率を割り出すプログラムの作り方を解説しています。

2020.08.25

与えられた整数の桁数を求めるプログラムの作り方を説明します。for文を使っています。

2023.04.23

与えられた整数の桁数を求めるプログラムの作り方を説明します。while文を使っています。

2023.04.23

1.0をxで割る計算式で、計算結果が∞(無限大)になるxを求めます。

2024.05.19

処理を繰り返すために使用するdo~while文について解説しています。

2016.02.26

Calendarクラスを使って月末の日付を求める方法を解説しています。

2022.10.31

1から10の整数値のうち、偶数だけをコンソール出力するJavaのソースコードを紹介しています。for文を使って作成しています。

2022.09.05

1から10の整数値のうち、偶数だけをコンソール出力するJavaのソースコードを紹介しています。while文を使って作成しています。

2022.09.05

指定したフォルダに格納されているファイル名を配列に格納する方法を説明しています。

2016.11.23

Swingパッケージを使って数式のグラフを表示する方法を解説します。サイン(sin)カーブを表示するJavaソースコードを紹介しています。

2019.09.14

画像全体の画素の色RGBの平均値を計算する方法をソースコードを使って解説しています。

2023.05.04

ソースコードを読みやすくするインデントって?

連続で「じゃんけん」ができるプログラムの作り方をソースコードを使って詳しく説明しています。

2023.05.23

九九(くく)の表を作る方法を詳しく解説しています。ソースコード付きです。

2019.01.03

2次元の配列を使った九九(くく)の表の作り方を紹介しています。

2020.01.30

九九の表をコンソール出力する方法を紹介しています。出力にはprintfを利用しています。

2020.03.23

最も単純な探索アルゴリズム、リニアサーチをJavaのソースコードで解説しています。

2020.03.23

1つだけ違う文字を目視で探す「文字の間違い探し」をJavaで作成しました。

2020.06.02

トランプ(カード)を扱うクラスを紹介しています。

2019.08.05

JavaのMath.sqrtメソッドを使わない平方根の計算方法を解説。ソースコードを使って詳しく解説しています。

2022.12.16

円を小さな台形に分割して、その面積の合計で円周率πを計算する方法を紹介しています。図とJavaのソースコードでくわしく説明しています。

2019.06.21

公約数について解説しています。興味がある方はご覧ください。

2020.07.08

配列を使ったフィボナッチ数列を出力するプログラムを作ってみませんか?

2021.03.09

与えられた2つの自然数の最大公約数を地道に求めるJavaソースコードを紹介しています。

2020.03.23

与えられた2つの自然数の最小約数の掛け算を繰り返して最大公約数を求めるJavaソースコードを紹介しています。

2020.03.23

円の中に含まれる格子の数と格子の外の数から円周率πを計算する方法を紹介しています。図とJavaのソースコードでくわしく説明していますので、興味のある方は記事をご覧ください。

2020.12.22

ライプニッツの公式を使って円周率πを計算で求める方法を紹介します。Javaのソースコード付きです。

2020.12.16

複数の値のうち、一番小さい値と、一番大きい値を取得する方法。

2020.03.23

関数f(x)が与えられたときf(x)=0となるxを数値計算の反復によって求める方法を詳しく解説しています。

2019.05.22

数値微分を使ったニュートン法で平方根を計算する方法を紹介しています。興味のあるかたは是非ご覧ください。

2019.05.23

反復計算の回数の上限があるニュートン法の解法ソースコードを紹介しています。

2019.05.24

整数の累乗を計算するメソッドの作り方を解説しています。

2019.07.29

配列を使って素数を判定するプログラムを紹介しています。是非、ご覧ください。

2016.02.02

指定した個数の素数の出力するJavaソースコードを紹介しています。

2023.01.03

1からNの和を計算するプログラムを作ってみませんか?プログラムの課題などでもよく出るものです。

2020.10.28

このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、フルカラーの画像をセピア色に変換してをJPEGG形式のファイルに保存するプログラムを紹介しています。

2023.07.16

画像の一部を切り出して、新しい画像に保存する方法を解説しています。ソースコード付きです。

2023.02.23

カラーの画像を、N個のグレー色(白/灰色/黒)で表現した画像に変換する方法を説明しています。

2017.11.17

1から10の整数値のうち、奇数だけをコンソール出力するJavaのソースコードを紹介しています。for文を使って作成しています。

2022.09.05

1から10の整数値のうち、奇数だけをコンソール出力するJavaのソースコードを紹介しています。while文を使って作成しています。

2022.09.05

画像の幅と高さを指定して黒く塗りつぶした円を描画する方法を紹介しています。Javaのソース付きです。

2019.11.11

同じサイズの円を縦と横方向に同じ間隔で並べて出来る模様の画像を作成する方法を紹介。

2019.06.14

できるだけ隙間がなくなるように円を並べて出来る模様の画像を作成する方法を紹介。

2019.06.17

トランプゲームの1つポーカーの役を判定をプログラムを作成してみませんか?。興味のある方は、ご覧ください。

2020.08.27

素因数分解は、自然数を素数の積(掛け算)で表すことです。この記事では、素因数分解のJavaのソースコードを解説しています。

2022.08.25

ソート(並び替え)アルゴリズムの1つであるクイックソートについて詳しく解説しています。Javaのソースコード付きです。

2019.09.06

自動で神経衰弱を行うJavaのソースコードを紹介しています。興味のある方は、ご覧ください。

2021.03.31

自動で神経衰弱を行うJavaのソースコードを紹介しています。興味のある方は、ご覧ください。

2021.03.31

自動で神経衰弱を行うJavaのソースコードを紹介しています。興味のある方は、ご覧ください。

2021.03.31

平方(二乗)の表を作成するJavaソースコードを紹介。

2022.10.03

割り算で割り切れずに残った端数を剰余(余り)といいます。この剰余の計算をJavaのソースコードを使って解説しています。

2020.03.23

テキストで塗りつぶし円を表現する方法を紹介します。興味のある方は是非ご覧ください。

2020.06.03

テキストで表示される市松模様をJavaで作ってきませんか?サンプルソースを使って、作り方を詳しく説明しています。

2019.03.18

テキストで横縞模様を表現するJavaソースコードを紹介しています。

2020.03.23

テキストで塗りつぶし直角三角形を表現する方法を紹介します。下の方が底辺の三角形です。

2021.01.20

テキストで塗りつぶし直角三角形を表現する方法を紹介します。上の方が底辺の三角形です。

2021.01.20

テキストで塗りつぶし直角三角形を表現する方法を紹介します。上の方が底辺の三角形です。

2023.07.29

テキストで塗りつぶし直角三角形を表現する方法を紹介します。上の方が底辺の三角形です。

2023.07.29

Javaには現在の時刻を取得する機能があります。この機能を使ってプログラム処理にかかる時間を測ったことありますか?

2015.12.16

0から90°のsin(x)、sin(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

0から90°のsin(x)、sin(x)、tan(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

0から359°のsin(x)、sin(x)、tan(x)の表を作成する方法をソースコードを使って詳しく解説しています。

2022.09.24

西暦を与えて閏年か平年かを判定するプログラムを紹介しています。

2019.09.28

Calendarクラスを利用して、閏年か平年かを判定するプログラムを紹介しています。

2022.11.16

Javaの変数に付ける名前のルールを説明しています。

2019.12.10

処理を繰り返すために使用するwhile文について解説しています。

2016.01.26

広告