SCROLL

Java研修で受講生が躓きやすい最初のポイント

こんにちは。Tech Fun ITスクールです。
11月も前半は暖かい日がありましたが、中旬から一気に寒くなってきましたね。
体調を崩しやすい時期かと思いますので、皆様体調にはお気を付けください。

さて、今回は当校の研修において、プログラム初学者の受講生が躓きやすい最初のポイントとなる、
Javaの基本文法の「for文を使った合計値の出力」について説明します。

for文は、繰り返し処理を行いたい場合に利用する文法で、以下のような書式になっています。

for (繰り返しの最初の処理; 繰り返し処理の条件式; 繰り返しの中で毎回実行する処理) {
    繰り返したい処理
}

このfor文を使い、1から5まで繰り返し処理を行いたい場合は、以下のようになります。

for (int i = 1; i <= 5; i++) {
    繰り返したい処理
}

ここまでは多くの受講生が理解してプログラムを作成できます。
ところが、「この繰り返した数となる変数iの値を加算し、その結果を「加算した合計値は、15です。」とコンソールに出力するプログラムを作成してください。」となると、途端に躓いてしまうことがあります。
そのため、躓きやすいポイントについて、以下の解答プログラムをもとに詳しく説明します。

public class SampleMain {

	public static void main(String[] args) {
		// ① 加算した合計値を格納する変数sumを宣言し、0で初期化
		int sum = 0;

		// 1から5まで加算するため、for文で繰り返し処理
		for (int i = 1; i <= 5; i++) {
			// ② 変数sumに、現在の変数sumの値と加算用の繰り返し変数iの値を加算して代入しなおす
			sum = sum + i;
		}
		// ③ 加算した合計値が変数sumに入っているため、その値を出力する。
		System.out.println("加算した合計値は、" + sum + "です。");
	}

}

大事なポイントは①と②の2箇所です。
まずは、プログラムの①の部分です。 Javaでは、宣言した変数は宣言した箇所の中括弧({})の中でのみ有効となります(これを変数のスコープといいます)。
そのため、①のsum変数の宣言をfor文の中に記述してしまうと、③の部分では有効でなくなるため、コンパイルエラーが発生します。

for (int i = 1; i <= 5; i++) {
	int sum = 0; // ここで変数sumを宣言して初期化すると、 
	sum = sum + i;
}
// 変数sumが有効ではない範囲(中括弧の外)になるため、コンパイルエラーが発生します
System.out.println("加算した合計値は、" + sum + "です。");

①で変数の宣言を行った場合、for文の外に変数sumがあるため、これを③で扱うことができます。

続いて、②の部分です。 ここでは、変数sumが、宣言した箇所の中括弧内にあるため、利用が可能です。
そのため、この変数sumに、変数sumと変数iの値を加算して代入していきます。
1回目は「sum = 0 + 1」、2回目は「sum = 1 + 2」のように計算され、5回繰り返されます。
最後となる5回目の計算は「sum = 10 + 5」となって変数sumの値に15が代入され、for文が終了します。
あとは、最後に③の部分で、合計値の15が代入された変数sumを使い、System.out.printlnで結果を出力しています。

今回の合計値のような、繰り返し処理を用いた計算を行って結果を求める必要がある場合などは、for文の外で変数の宣言を行い、その変数に値を代入しなおして設定していくようにしましょう。

以上、Tech Fun ITスクールで受講生が躓きやすい、for文を利用した合計値の出力プログラムの紹介でした。

プログラムは、一つ一つ紐解いていくことで内容を理解できます。
難易度の高いプログラムを作成することになった場合も、慌てずに処理を考えて対応していくと良いでしょう。

Tech Fun ITスクールでは、プログラムの組み立て方だけでなく、
より良いプログラムの作成方法やエラーが起きた場合の対処法や考え方など、実践的な内容を丁寧に指導しています。

ご興味がある方は、是非一度、以下のTech Fun ITスクールのお問合せフォームより、お問い合わせください。

新入社員・新人などの未経験者を
即戦力Javaエンジニアへ育成!

資料ダウンロード
研修の内容や進め方について詳細を解説しています
お問い合わせ
通常2営業日以内に、担当者より回答いたします

お知らせ

お知らせ一覧を見る