第2回でJavaを学ぶための準備ができたので、今回から本格的にJava言語についての学習を始めます。今回から数回にわたってJavaの基本構文について解説していきますが、本記事ではJavaの変数について解説します。

変数とは?

変数とは、プログラムの中で値を格納しておくために使われる箱のようなものです。ここでは、変数の使い方や変数を宣言するときに必要なデータ型について解説していきます。

変数の使い方

変数とは、値を格納しておくためのものです。数値や文字列などの値を保存したり、取り出したりすることができます。では、変数の使い方を確認してみましょう。変数を使うためには、最初に変数の「宣言」をしておく必要があります。変数の型と変数名を記述し、最後に「;」(セミコロン)を書くと、変数の宣言ができます。たとえば、「int」型の値を変数名「num」に格納する場合の変数の宣言は次のようになります。

//変数の宣言
int num;

また、変数はプログラムの中でいくつでも宣言することが可能です。同じデータ型の変数を宣言する場合、変数の型と変数名1、「,」(カンマ)、変数名2、「,」、変数名3……最後に「;」(セミコロン)と記述する方法でも変数の宣言が可能です。

//同じデータ型の複数の変数の宣言
int a, b, c;

変数名(識別子)のつけ方

変数はプログラムの中でいくつでも宣言することができます。変数名をつけることにより、それぞれの変数を区別することができます。変数名に長さの制限はありませんが、次のような規則に従ってつけなければいけません。

  1. 使用できる文字はA~Z、a~z、0~9、アンダーバー(_)、$ (例) name, user, num03
  2. 先頭文字には数字の0~9は使用できない (例) 100countなどは不可
  3. 大文字と小文字は区別される (例) numとNumは別の変数として扱われる
  4. 予約語は使用できない (例) classやprivateなどの予約語は使用できない

Javaでは何らかの意味を持つ単語を予約語として登録しています。変数名やクラス名などに付ける際、Javaの予約語は使用することができません。下記のものが予約語の一覧となるので、使用する際には注意してください。

基本データ型

変数を宣言するときには変数名と変数のデータ型を指定する必要があります。「データ型」とは値の種類のことで、整数や浮動小数、真偽値や文字などの種類があります。Javaで用意されているデータ型には、次のようなものがあります。

・int型

整数の値を格納するためのデータ型です。int型では32ビット整数 -2147483648~2147483647までの数値を格納できます。一般的に、整数を扱う際に使用される型です。

・long型

整数の値を格納するためのデータ型です。long型では64ビット整数 -9223372036854775808~9223372036854775807までの数値を格納できます。intで格納しきれない値を扱いたい場合に使用します。long型の数値を記述する場合は、数値の最後に「L」または「l」を付けます。

・short型

整数の値を格納するためのデータ型です。short型では16ビット整数 -32768~32767までの数値を格納できます。

・byte型

整数の値を格納するためのデータ型です。byte型では8ビット整数 -128~127までの数値を格納できます。

・char型

ひとつの文字を格納するためのデータ型です。char型では16ビットUnicode文字 \u0000~\uFFFFを格納できます。

・float型

浮動小数点数の値を格納するためのデータ型です。float型は32ビット単精度浮動小数点数を格納できます。float型の数値を記述する場合は、数値の最後に「F」または「f」を付けます。

・double型

浮動小数点数の値を格納するためのデータ型です。double型は64ビット倍精度浮動小数点数を格納できます。float型より精度が高いので、小数を使用したいときはこちらを選択することが多いでしょう。double型の数値を記述する場合は、省略することも可能ですが数値の最後に「D」または「d」を付けます。

・boolean型

true(真)またはfalse(偽)のいずれかを格納するためのデータ型です。

値の代入をする

変数には値を格納したり取り出したりすることができます。宣言した変数に対して値を格納するには、「=」を使って

変数 = 値;

とします。変数に値を格納することを「変数に値を代入する」といいます。「=」は代入演算子と呼ばれる演算子で、「=」の右に記述された値(変数でも可)を左側に書かれた変数に代入します。

変数の使用例

int num1 = 10;
System.out.println(num1); // 10

long num2 = 10000000L;
System.out.println(num2); // 10000000

short num3 = 10;
System.out.println(num3); // 10

byte b = 10;
System.out.println(b); // 10

char c = 'A';
System.out.println(c); // A

float f = 1.1;
System.out.println(f); // 1.1

double d = 1.123d;
System.out.println(d); // 1.123

boolean flag = true;
System.out.println(flag); // true

多重代入

Javaでは複数の変数に同一の値を代入する、「多重代入」という方法があり、次のように記述します。

変数1 = 変数2 =  値;

このようにすると、変数1と変数2に同じ値が代入されます。実際の処理では、まず変数2に値が代入され、その値が変数1に代入されます。次の例は3つの変数を使用して多重代入を試しています。

int a,b,c;
a = b = c = 100;
System.out.println(a); // 100
System.out.println(b); // 100
System.out.println(c); // 100

変数の初期化

変数の宣言と値の代入を同時にすることを変数の初期化といいます。

型名 変数 = 値;

と書くと、変数の初期化をすることができます。

int num = 10; // 変数の初期化
System.out.println(num); // 10

別の値を代入

変数に値を一度代入した後で改めて別の値を代入することも可能です。

int num = 5; // 変数の初期化

num = 10; // 別の値を代入

変数は一度にひとつの値しか保持することができないため、別の値を変数に代入するとそれまで変数が持っていた値はなくなってしまいます。

変数の値を取得

変数に代入された値を取得するのは簡単です。数値や文字を記述する場所で、代わりに変数を記述すれば、変数に代入されている値を取得できます。

System.out.println(100); // 100が表示される

int i = 100;
System.out.println(i); // 変数に代入されている値の100が表示される

まとめ

今回は変数とデータ型について解説しました。次回もJavaの基本構文について解説していく予定です。

執筆者紹介

八重桜雅子(YAEZAKURA Masako)

以前はシステム開発会社で約8年間働いていました。JavaやJavaScriptなどのWeb系の技術をよく使用していました。