今回は変数とは何か、変数の使い方について解説します。
変数とは
プログラムの基本的な構成要素には次の2つがあります。
- 変数(データを保存するためのもの)
- ロジック(データを処理するためのもの)
今回はこの2つのうちの変数について学習をしていきます。
「変数とはプログラムで扱っているデータを格納するもの」です。
イメージとしては、値を入れることのできる箱を思い浮かべてください。
この値を入れる事が出来る箱(変数)はどのような時に使うのでしょうか。
もしプログラムを実行している途中で、三角形の面積を求めたとします。
その面積の値を、「次のプログラムの処理として表示」したいとします。
このとき、表示を行う時に再度面積を求める処理を記述するのでしょうか。
既に面積は求めているので、その値を利用できると便利です。
そうすると違う処理同士で値を受け渡ししなければいけません。
このような場合、変数を利用します。
面積の値を箱(変数)に入れておき、表示を行う処理ではその箱(変数)から値を貰い表示します。
変数とデータ型
変数を利用したい時には、「変数を利用します」とプログラムで記述する必要があります。
この事を「変数を宣言する」といいます。
宣言方法は次で解説しますが、宣言を行う時に「データ型」が必要になります。
符号付き整数と浮動小数点数の詳細については、下記でも解説していますので参考にしてみてください。
データ型
データ型とはそのデータの種類を表すものです。
「1」と記述されていた場合、これはどのような「1」と見ることが出来るでしょうか。
単純に考えると数字の「1」ですが、文字の「1」とも考えられます。
人間は「1」の前後を読み取る事で数字なのか文字なのかを理解する事が出来ます。
「1 + 1」と記述されていたら数字、「第1章」と記述されていたら文字であると判断しています。
ではコンピュータはどのように「1」を数字なのか文字なのかを判断するのでしょうか。
人間のように前後を読み取って理解はしてくれません。
コンピュータに、”これは数字の「1」です”、”文字の「1」です”と教えてあげないといけないのです。
よってデータを入れる箱、つまり変数にも、どのような種類のデータを入れるのかを指定する必要があるのです。
このようなデータの種類のことをデータ型といいます。
Javaのデータ型
Javaのデータ型には基本データ型とクラス型(参照型)があります。
ここでは基本データ型について紹介します。
データ型 | 値の種類 | デフォルト値 | サイズ | 扱えるデータの範囲 |
---|---|---|---|---|
byte | 符号付き整数 | 0 | 8ビット | -128(-27) ~ 127(27-1) |
short | 符号付き整数 | 0 | 16ビット | -32,768(-215) ~ 32,767(215-1) |
int | 符号付き整数 | 0 | 32ビット | -2,147,483,648(-231) ~ 2,147,483,647(231-1) |
long | 符号付き整数 | 0 | 64ビット | -9,223,372,036,854,775,808(-263) ~ 9,223,372,036,854,775,807(263-1) |
float | 浮動小数点数 | 0.0 | 32ビット | ±3.40282347E +38 ~ ±1.40239846E +308 |
double | 浮動小数点数 | 0.0 | 64ビット | ±1.79769313486231570E +38 ~ ±4.94065564584126544E +324 |
char | 文字 | \u0000 | 16ビット | Unicode文字(一文字) |
boolean | 論理値 | - | 32ビット | trueまたはfalse |
用語:データ型
データ型の種類です。変数を宣言する時にこれらの名称を使用します。
用語:デフォルト値
各データ型の変数を作成した時、初期値を指定しない場合に変数に入れられる値です。
用語:サイズ
データ型の変数を作った場合、使用されるメモリの大きさです。
サイズが大きいデータ型ほど大きい値を入れる事が出来ますが、その分メモリが多く消費されてしまいますし、場合によってはプログラムの動作速度が遅くなる可能性があります。
boolean型
boolean型は二者択一のデータを表す型です。
削除しても良いか否か、ある値より上か下か、などのように2つの値のどちらかしか存在しない情報を表す際に利用されます。
値としてtrue、falseを持ちます。
trueの意味として真、falseの意味として偽ですが、あくまでboolean型を表現する1つの言い方ですので、真、偽という意味以外での利用をしてもまったく問題ありません。
char型
これは 'a' や 'あ' などの1文字を表すデータ型です。
「'」(シングルクォート)で1文字を括ったのが文字です。
Javaでは文字表現に「Unicode」を採用しています。
変数名
1つのプログラム中には複数の変数を宣言する事が出来ます。
複数宣言できますので変数を区別出来るように一意な名前をつけてそれぞれを識別します。
名前を付けないと変数は宣言出来ないようになっています。
この名前を「変数名」といいます。
変数の宣言
変数を使用したいときは、変数の宣言が必要になります。変数の宣言の基本的な書式は以下の通りです。
変数の型名 変数名 [ = 初期値 ];
【例文】
int x; //int型のxという名前の変数を宣言 double pi = 3.14; //double型のpiという名前の変数を宣言し、値として3.14を入れておく
初期値の部分は省略することが可能です。
変数と変数名のイメージ
「変数の型名」と書いてある部分は「この変数が文字列を表す」や、「この変数は数値を表す」事を宣言する部分です。
変数名は「その変数につけた名前」であり、この変数名を使って「どの変数であるかを識別」します。
このイメージを下の図で表します。
この状態では、まだ変数に格納されるデータは入っていません。
実際に使う際には値を入れる必要があります。
String型
String型は文字列を格納する事ができます。
char型の文字ではありませんので気をつけてください。
文字は1文字を「'」(シングルクォート)で括ったもの、文字列は1文字もしくは複数の文字を「"」(ダブルクォート)で括ったものです。
String型は基本データ型ではなく、Javaにあらかじめ用意されているクラスといわれるものです。
ここでは「String型は文字列を格納することができるデータ型である」と覚えておきましょう。
変数へのデータの代入
変数にデータを格納することを”代入する”と言います。
代入には「=」(イコール)記号を使います。
「=」の左に変数を記述した場合は、その変数へ値を代入します。
「=」の右に変数を記述した場合は、その変数の値を左辺へコピーします。
「=」の左には処理は記述できません。
【変数を利用する】
public class FirstVariable{ public static void main(String[ ] args){ // 変数の宣言 String shimei; int kihonkyu; // 変数にデータを代入 shimei = "鈴木 幸一"; kihonkyu = 200000; // 変数からデータをもらい、 // コマンドプロンプトに出力 System.out.println(shimei); System.out.println(kihonkyu); } }
実行結果
鈴木 幸一 200000
[動画解説]
vimeo.com
まとめ
変数の考え方
変数とはデータを保持するもので、変数はデータ型を持ちます。
変数の宣言、代入方法
Javaプログラムでは変数を利用するためには宣言を行う必要があります。
作成された変数に対して、代入や再代入を行うことができます。
変数2へ続きます
独学で挫折しそうになったら、オンラインプログラミングスクール