画像(logo)

HOME/[JAVA言語 入門]小学生でもわかるJAVA言語 目次/十日目 繰り返し「for」命令!

広告

[JAVA言語 入門 小学生でもわかるJAVA言語]
十日目 繰り返し「for」命令!

広告

↓2017年04月19日発売↓

カラー図解 Javaで始めるプログラミング 知識ゼロからの定番言語「超」入門 (ブルーバックス)

新品価格
¥1,080から
(2017/5/1 13:45時点)

目次へ戻る

くり返し「for」命令

プログラムの基本は

(1)上から順番に
(2)条件で分かれ道
(3)繰り返し

でしたね!

今回から最後の(3)くり返しをやっていきます!

本格的なプログラミングの始まりですね!

注意

くり返し命令を誤って使うと無限ループ(ずっとくり返しでプログラムが止まらない状態)などに入ってコンピューターに負担をかけてしまう場合があるのできちんと理解して使いましょう!

通常の無限ループの場合は「ctrl + c」キーを押せば止まります。もしこれで止まらない場合はウィンドウ右上の「×」マークなどで無理やり止める事になります。

これでも止まらない時は近くの詳しい人に聞きましょう!

数字を一つずつ上げていきます。

/*十日目 プログラム1*/
class Test{
	public static void main(String args[]){
		int suji;
		
		for(suji = 0;suji < 10;suji = suji + 1){
			System.out.print(suji);
			System.out.print(" ");
		}

		System.out.print("\n");
	}
}

■実行結果■

画像(jb_10_1)

■説明■

「for」命令でくり返し条件を決めて、{}カッコ内をくり返します。

そして変数「suji」の内容を「System.out.print」命令で表示しております。

まずくり返し用の変数「suji」を用意します。そして「for」命令の登場です!

for( 初期化 ; 条件 ; 進み方 )
for(suji = 0;suji < 10;suji = suji + 1)

こちらを一つずつ見ていきましょう。

初期化

suji = 0

ここで最初の数を決めます。

条件

suji < 10

次に条件を決めます。この場合は「変数「suji」が「10」より小さい間」という意味ですね!

変数「suji」が「10」になるとその時点でくり返しをやめるので実行結果が「9」で終わってますね。

ここを「suji <= 10」とすると実行結果の最後は「10」になります。

「if」命令の時に学んだ「suji <= 10」→「10を含む(ふくむ)」・「suji < 10」→「10を含まない(ふくまない)」を注意しましょう!

進み方

suji = suji + 1

最後に進み方を決めます。この場合はくり返すたびに変数「suji」に「+1」されますね!

ここを「suji = suji + 2」とするとくり返すたびに変数「suji」が「+2」されるので結果は

0 2 4 6 8

のようになります。

くり返しの条件などをいろいろ変えて試してみましょう!

インクリメント・デクリメント

suji = suji + 1;

さきほど登場したこちらの文は

suji++;

と書き換えられます。これを「インクリメント」といいます。同じく

suji = suji - 1;

だった場合は

suji--;

と書き換えられます。こちらは「デクリメント」といいます。

よく使う書き方なので覚えましょう!

仲間たち

他にこんな書き方もできます。

suji = suji + 100;

suji += 100;

suji = suji - 100;

suji -= 100;

など。

同じように「*=,/=,%=」などなど。

慣れてきたら使ってみましょう!

広告

たくさん練習しましょう!

くり返し命令を制するものはプログラミングを制する!と言われるほどくり返しは大事なのでたくさん練習してレベルアップしましょう!

練習その1・・・「おはよう」を5回表示する。

/*十日目 プログラム2*/
class Test{
	public static void main(String args[]){
		for(int kaisu = 0;kaisu < 5;kaisu++){
			System.out.print("おはよう\n");
		}
	}
}

■実行結果■

画像(jb_10_2)

■説明■

まずはキホンですね!「kaisu」が「0〜4」までくり返しして「5」でくり返しをやめます。最初の「0」から始まるので「0,1,2,3,4」と5回分くり返す事になります。

あとくり返す為だけに使われる場合は

for(int kaisu = 0;kaisu < 5;kaisu++)

この「for」命令の中で変数を宣言しても大丈夫です。

この場合は「for」命令が終わったらこの変数は使い捨てになるので、次また使いたくなった時は

for(int kaisu = 0;kaisu < 5;kaisu++){
}

/*なんかプログラム*/

for(int kaisu = 0;kaisu < 5;kaisu++){
}

このように再び使っても大丈夫です。

※「くり返す為だけにしか使われないような場合」という意味で、くり返す為だけにしか使ってはいけないという意味ではないです!

練習その2・・・「if」命令と組み合わせる。

「10」までカウントして「3」の倍数がきたら「おいっす!」と叫んでみましょう!

/*十日目 プログラム3*/
class Test{
	public static void main(String args[]){
		for(int kaisu = 0;kaisu <= 10;kaisu++){
			System.out.print(kaisu);
			System.out.print(" ");
			if(kaisu == 3)System.out.print("おいっす!\n");
			if(kaisu == 6)System.out.print("おいっす!\n");
			if(kaisu == 9)System.out.print("おいっす!\n");
		}

		System.out.print("\n");
	}
}

■実行結果■

画像(jb_10_3)

■説明■

くり返しをしている途中で「if」命令の条件が合えば「おいっす!」と表示します。

「10」までのカウントなので「for」命令の条件が「suji <= 10」となってますね!

くり返しを想像しながらプログラムを作りましょう!

練習その3・・・他の変数も一緒に変化させる。

/*十日目 プログラム4*/
class Test{
	public static void main(String args[]){
		int suji,suji2;

		suji2 = 4;

		for(suji = 0;suji < 5;suji++){
			System.out.print("suji = " + suji + ":suji2 = " + suji2 + "\n");
			suji2--;
		}
	}
}

■実行結果■

画像(jb_10_4)

■説明■

くり返し中一緒に他の変数「suji2」も変化させています。

「for」命令に入る前に「suji2」を初期化して、くり返すたびに「suji2--」しています。

100まで計算

ではくり返し命令の定番プログラム

「1 + 2 + 3 + 4 + 5 〜 98 + 99 + 100」

と順番に足していく「100まで計算」プログラムを作ってみましょう!

/*十日目 プログラム5*/
class Test{
	public static void main(String args[]){
		int suji;
		int goukei = 0;
		
		for(suji = 0;suji <=100;suji++){
			goukei = goukei + suji;
		}

		System.out.print("「100まで計算」答えは" + goukei + "です!\n");
	}
}

■実行結果■

画像(jb_10_5)

■説明■

合計を入れる為の変数「goukei」にひたすら増加し続ける変数「suji」を足し合わせております。

試しに変数goukeiの値を追ってみましょう!

くり返し0回目 goukei(0) = goukei(0) + suji(0)

くり返し1回目 goukei(1) = goukei(0) + suji(1)

くり返し2回目 goukei(3) = goukei(1) + suji(2)

くり返し3回目 goukei(6) = goukei(3) + suji(3)

くり返し4回目 goukei(10) = goukei(6) + suji(4)

くり返し5回目 goukei(15) = goukei(10) + suji(5)

カッコの中身がその時の値です。

このようにくり返し命令を使って、変数「goukei」の値を塗り替えていく事で、複雑そうな計算もシンプルなくり返し命令で書く事ができますね!

トレース

くり返しの動きを一回一回止めながらみていくプログラムです。一回一回何かキーを押してください。

/*十日目 プログラム6*/
import java.io.*;

class Test{
	public static void main(String args[]){
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int suji;
		int goukei = 0;
		
		for(suji = 0;suji <=10;suji++){
			goukei = goukei + suji;
			System.out.print("goukei = " + goukei);
			try{
				br.readLine();
			}
			catch(IOException e){}
		}

		System.out.print("\n合計は" + goukei + "です!\n");
	}
}

■実行結果■

画像(jb_10_6)

■説明■

このように動きを追う作業の事をプログラムの動きをなぞっていくというような意味で「トレース」といいます。

最初なれないウチはこの「トレース」をきちんと行って中の変数の動きなどをしっかり追っていく事をオススメします!

頭の中で想像するだけだとちょっとツライですもんね!

使い方は入力の時のようにプログラムの先頭に

import java.io.*;

こちらと「public static void main(String args[])」の後に

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

こちらを追加、後はプログラムを一時停止したい部分に

try{
	br.readLine();
}
catch(IOException e){}

こちらを書けば実行時にそこで一時停止してくれます。

ちゃんとしたこの命令の使い方とは少し違いますが、便利なので使ってみてください!

次回はもう一つのくり返し「while」命令を紹介したいと思います。

どこまでくり返せばいいのかわからないけどくり返したい時や、途中でくり返しを抜ける方法などについても説明しておりますので今回の「for」命令と合わせてご覧ください。

次回

十一日目 繰り返し「while」命令!

□ページの先頭へ□

□目次へ戻る□

□HOME□

広告

↓2016年06月25日発売↓

新・明解Java入門 (明解シリーズ)

新品価格
¥2,916から
(2017/5/1 13:47時点)

↓2017年04月18日発売↓

Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで

新品価格
¥3,218から
(2017/5/1 13:50時点)

↓2017年05月17日発売↓

新・明解 Javaで学ぶアルゴリズムとデータ構造 (明解シリーズ)

新品価格
¥2,592から
(2017/5/1 13:54時点)

↓2017年04月04日発売↓

Java 第2版 入門編 ゼロからはじめるプログラミング (プログラミング学習シリーズ)

新品価格
¥2,030から
(2017/5/1 13:55時点)