
変数のしくみを知る
プログラムを実行するとき、いろいろな値を記憶させながら処理をしていきます。例えば
ユーザーが入力した数値を画面に出力する
というプログラムについて考えてみましょう。まず、数値をどこかに「記憶」しておかないといけません。そのハコのようなものを変数といいます。
変数の「名前」となる識別子
変数を扱うには、次の2つのことを決めておかないといけません。
- 変数に「名前」をつける
- 変数の「型」を設定する
最初に、1について説明しましょう。変数を使用するために名前をつけます。名前は私たちが選んで決めることができます。但しこれらの名前として使える文字、数字の組合せ(識別子)には、以下のルールがあります。
- 英字・数字・アンダースコア(_)・$など。
- 長さには制限はありません。
- Javaの予約語、returnやclassなどは使用できません。
- 数字で始めることはできません。
- 大文字と小文字は異なるものとして区別されます。
上の規則に当てはまる識別子を上げてみましょう。
- a
- abc
- ab_c
- F1
一方下記のものは正しくありません。
- 12a 数字で始まっているため正しくありません。
- return Java予約語は使用できません。
- is-a 特殊な文字は使用できません。
型のしくみを知る
変数には値を記憶させることができます。値の種類は、データ型(data type)、または型と呼ばれています。
- 名前 記憶できる値の範囲
- boolean trueまたはfalse
- char 2バイト文字(¥u0000~¥uffff)
- byte 1バイト整数(-128~127)
- short 2バイト整数(-32768~32767)
- int 4バイト整数(-2147483648~2147483647)
- long 8バイト整数(-9223372036854775808~9223372036854775807)
- float 4バイト単精度浮動小数点数
- double 8バイト倍精度浮動小数点数
short型という種類の値を記憶できる変数
をあらわしています。このような変数を使うと、-32768~32767までの範囲の整数のうちの、どれか1つの値
を記憶させることができます。
short型の変数には、小数点以下のケタをもつ「3.14」などといった値を記憶することはできません。このような場合は小数点以下の数値をあらわせるdouble型などの変数を使わないといけません。
上記の「×バイト」を見てください。「記憶する値がどのくらいのメモリが必要か」をあらわしています。
変数を宣言する
変数の名前と型が決まったら、さっそくコードの中で変数を使ってみましょう。
「変数を用意する」作業が必要です。このことを変数を宣言するといいます。
- int num; ①int型の変数numです
- char c; ②char型の変数cです
- double db, dd; ③double型の2つの変数dbとddです
③のように、変数はカンマ(,)で区切り、1つの文の中にまとめて宣言することができます。
変数に値を代入する
変数を宣言すると、変数に特定の値を記憶させることができます。このことを、値を代入するといいます。
num = 3;
この=記号は、値を記憶させる機能をもっています。
それでは、実際にプログラムを作成して、変数を使ってみることにしましょう。


①でint型の変数numを宣言します。②で変数numに3を代入しています。
このように、「=」という記号は、数学の式に使用する「●と○が等しい」という意味ではありません。「値を代入する」という機能です。注意しておきましょう。
変数の値を出力する
③の部分を見てください。プログラムを実行したとき実際に出力されるのは、
numという変数名ではなく、変数numに格納されている
3という値になります。
変数を初期化する
Sample3_05_1では、
- int num; 変数を宣言
- num = 3; 変数に値を代入
としていました。しかし、Javaでは変数を宣言したとき、同時に、変数に値を格納する
という書き方もできます。このことを
変数を初期化する、といいます。初期化コードは、次のように書きます。
int num = 3; 変数を3で初期化しています。
変数の値を変更する
いったん代入した変数の値を新しい値に変更することができます。


はじめに変数numに3を代入し、①で出力。②で新しい値5を代入しています。
値を上書きし、変数の値を変更する
という処理ができるのです。
ほかの変数の値を代入する


=記号を使用してnum2にnum1の値3が格納されたことがわかります。このように、
変数の値をほかの変数に代入する
こともできます。
値の代入についての注意
- int num;
- num = 3.14;
変数numに3.14を代入しようといています。しかしコンパイルできません。int型の変数には1.41や3.14といった、小数点のついた数値を格納できないからです。
型については、次の章でもう一度詳しく説明することにしましょう。
~変数名をつける際の心得~
プログラマーのためのネーミングルールを紹介します。
- 現場のコーディング規約に従ってください。
- 誰が見てもどんなデータが代入されているかわかる名前にしましょう。
- できれば英語で!
Google検索でcodicと入力→左側に日本語入力してください。右側に適切な変数名を表示してくれます。思いやりのあるコーディングを心がけましょう。