ゼロからプログラミングコンテスト!

プログラミング経験ゼロから、プログラミングコンテストに挑戦できるよう、応援するブログです。実践が一番!

変数と、変数の出力方法について

さて、今回はJava言語における『変数』というものについてです。
『変数という概念がある』ということは、プログラムが一般の電卓より強い理由の1つです。
頑張って説明すると、『変数』とは、『覚えてほしい数字に名前をつけて結びつけ、後で名前を書いたらその名前に結びついた数字を利用できるシステム』といったところでしょうか。
電卓では、数字を覚えておくことは(普通の電卓なら)出来ませんね。
そんなことを言っても分かりにくいので、説明をします。

また、今回は
・変数について
・変数の使い方を理解するための、出力の仕方について
の2つを一気に学びます。少し長いですが、なんとか最後まで通して読んで頂けると嬉しいです。

変数の使い方について

変数を活用する手順としては、
1,変数の名前を決めて、プログラム内で宣言する
2,変数の中に数字を代入する
となります。


また、変数というものには、というものがあります。しかし今回は、変数が覚えるのは整数のみとして、やっていきます。

まず、宣言の仕方ですが、

int 名前;

と書きます。
つまり、変数の名前(英数字で名付けましょう)を『suuji』としたいなら、

int suuji;

と書きます。;(セミコロン)を忘れないようにして下さい。
これで、プログラムに、『suuji』という名前の変数を使うよ、中に入るのは整数の予定だよ、ということを伝えます。

そして次に代入です。これは、次のように書きます。

変数の名前 = 入れたい数字;

こちらも、セミコロンを忘れないようにして下さいね。
つまり、先ほど宣言した『suuji』という名前の変数に『5』という数字を結びつけたい場合は、こう書きます。

int suuji;
suuji = 5;

これで、『suuji』という名前の変数が作られ、その中身として『5』が結びつきます。
『int』というのは、その変数が整数であることを表しています。よって、例えば3.5のようなものを入れることはできません。ご注意を。とりあえずしばらくは整数だけの話をします。

変数を表示する出力方法について


さて、ただプログラムの中で変数が現れたところで、何が起きているか分かりません。
そこで、何が起きているか把握するためには、前回までで覚えた、『出力』を使う必要があります。

前回までは

System.out.println("Yeah!");

といった、自分で打ち込んだ文章を表示するだけのプログラムでしたが、これは変数を表示することもできます。

その書き方は、

System.out.println(suuji);

です。
さっきまでと比べると、『""』がなくなっています。注意してください。
まずは、上の変数宣言と併せて、本当に動作するのか実感するため、以下のコードをAtCoder上で実行してみましょう。

import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int suuji; //suujiという変数を作成
		suuji = 5; //suujiに5を代入
		System.out.println(suuji); //suujiの中身を出力
	}
}

これを実行すると、結果として『5』と表示されるハズです。

☆練習問題1.上のコードの

suuji = 5;

の『5』を他の数字に変えてみて、実行して下さい。0や1255312、-5なども試してみてください。


注意ですが、普通数学では『=』という記号は『左と右の数字が等しい』というのを表すのに対し、プログラム上では『左の名前の変数に、右のものを代入する』ということを表します。


そしてこの『変数の出力』の使い方が分かれば、これからの勉強がグッとしやすくなります。
つまり、数字を操作したりした後の結果が分かりやすくなります。
ではここで、下のようなコードを試してみましょう。

import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int suuji;
		suuji = 3 + 4;
		System.out.println(suuji);
	}
}

AtCoder上で実行すると、どうなるでしょうか。
4+3を計算した結果である、7が出力されているハズです。

他に計算で使える記号(演算子と言います)として、
『-』,『*』,『/』があり、それぞれ引き算、かけ算、割り算です。
また、注意としてですが、整数同士を割り算した場合、答えが分数になる場合でも、整数の商が計算されます
理解を深めるため、次のようなコードを実行してみて下さい。

import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);

		int suuji;
		suuji = 7 / 3;
		System.out.println(suuji);
	}
}

7÷3は、分数で言うと7分の3、小数で言うと2.333...となるハズです。
しかし上のコードを実行すると、2が出力されますね。
これはつまり、7÷3=2余り1となり、商である2がsuujiに代入されたということです。
たまに忘れることがあるので、注意しましょう。

ではここで、今回最後の練習問題です。

練習問題2.aに代入する計算式を色々変えて理解を深めるため、以下の4つの問題に取り組んでみましょう。基本的に、上のコードを一部変更して、問題に取り組んで下さい。
練習問題2-1.aに5+5を代入して、ちゃんと10が出力されることを確かめましょう。
練習問題2-2.aに2-6を代入して、負の値というものが計算できるのかを確かめてみましょう。
練習問題2-3.aに2+3×4を代入して(かけ算は『*』で表現します、注意!)、足し算とかけ算の優先順位が、現実のものと一緒になっているのか違うのか確かめてみて下さい。
練習問題2-4aに9-4-3を代入して、結果が(9-4)-3になるのか、9-(4-3)になるのか確かめてみましょう。


というわけで、今回は以上です。
これ以降はこの変数と、変数を出力する方法を使って、勉強を進めていきます。
次は入力の話になると思います。