Javaの変数を極める!知っておくべきスコープの知識。

Javaの変数を極める!知っておくべきスコープの知識。

この記事では、Javaの変数についてその使い方とルールを解説する。

「変数」はプログラミングを書くうえでもっとも重要な要素。早く使いこなせるようになってプログラムを楽しめるようになろう。

UgoCompiler

当サイトでは、自作のJavaCompiler「UgoCompiler」を用意している。UgoCompilerを使えばオンライン上で気軽に自分の書いたコードを実行することができる。 登録なしですぐに使うことができるので、ぜひ試してみてほしい! (下の写真をクリックすると新しいタブで開きます。)

変数とは?

変数(Variable)は一時的に値を格納する箱のようなもの。格納する値はプログラム内で書き換えることができる。

変数に値を格納することを「代入」と呼ぶ。また、プログラム内で変数を定義することを「宣言」と呼ぶ。

Javaは「静的型付け言語」に分類されるプログラミング言語。静的型付け言語では、変数は常に1種類のデータ型を持つ。

変数の使い方

では、Javaでの変数の使い方を見ていこう。

変数の宣言

Javaにおける変数の宣言方法を見ていこう。

以下のコードはメンバ変数とローカル変数を含むサンプルコードだ。

class MainClass {

    public String memberVariable = "これはメンバ変数です。";

    public static void main(String[] args) {
        new MainClass().callVariables();
    }

    public void callVariables() {
        System.out.println("メンバ変数 ⇨ " + memberVariable);

        String localVariable = "これはローカル変数です。";
        System.out.println("グローバル変数 ⇨ " + localVariable);
    }
}

メンバ変数を宣言する際は、アクセス修飾子・データ型・変数名の順に書く。宣言の際に同時に値を代入することもできる。

ローカル変数を宣言する際はデータ型・変数名の順に書く。

なお、アクセス修飾子とデータ型が同じであれば複数の変数を同時に宣言することもできる。

public String memberVariable = "これはメンバ変数です。", anotherMemberVariable = "これは他のメンバ変数です。";

変数の命名規則

変数の名前は「キャメルケース」という表記方法を用いて命名される。

キャメルケースは名前の始まりを除き、単語の区切り目のみを大文字で記す表記法。プログラミング初心者は慣れるのに時間が掛かるかもしれないが、プログラミングの世界では頻繁に用いられる。

キャメルケースの例として、以下のような名前が挙げられる。

  • isInitialized
  • maxWidth

変数に値を代入する

値の代入は変数は”=(イコール)”を用いておこなう。

memberVariable = "新しい値を代入します。";

代入しようとしている値が変数のデータ型に当てはまらない場合は、プログラムを実行する間にIDEにてコンパイルエラーが表示されるだろう。

変数の初期化

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

public String memberVariable = "これはメンバ変数です。"

変数のスコープ(可視範囲)

変数の可視範囲をスコープと呼ぶ。スコープはプログラミングにおける重要な概念なので覚えておくようにする。

初心者のうちはクラス内のどこからでもアクセスできるメンバー変数を好んで使いがちだが、メソッドの引数などを工夫することによってローカル変数に置き換えれるのであれば置き換えたほうがいい。

ローカル変数にしてアクセスできる範囲を限定することによって、予期せぬ値の代入を防ぐことができる。

ローカル変数の有効範囲

変数の種類(ローカル変数・グローバル変数・メンバ変数)

変数には大きく分類して「ローカル変数」と「グローバル変数」があり、それぞれにスコープの範囲が異なる。

  • ローカル変数
    ⇨ プログラム内の一部分でのみ使用される変数。
  • グローバル変数
    ⇨ プログラムの全体で使用できる変数。