final変数を定数として利用する

変数を宣言するときに final を付けることで、定数のように一度だけしか値を代入できない変数を宣言することができます。プログラムの中で繰り返し使用される値を定数として宣言し、実際の値ではなく定数を記述することで、将来的に値が変更になった場合に書き換える場所が一か所で済みます。また値を直接入力する場合と比べてケアレスミスによる記述ミスを減らすことができます。ここでは final を使った変数を定数のように利用する方法について解説します。

(Last modified: )

final変数の使い方

Java の変数宣言を行うときに final を付けると変数を定数のように利用することができます。

final データ型 変数名 = 値; 

final をつけて宣言を行った変数には一度だけ値を代入することができます。通常は変数宣言時に初期値を代入する場合が多いと思いますが、変数宣言だけ行っておいてあとから値を代入することもできます。

final float PI = 3.1415F;

final int SPECIAL_POINT;
SPECIAL_POINT = 100;

一度値が代入されたあとに再度値を代入するとコンパイル時に「エラー: final変数 XXX に値を代入することはできません」というエラーになります。

final int SPECIAL_POINT = 100;
SPECIAL_POINT = 150;  # コンパイルエラー

このように値を代入できのが一度だけという制約があるためあたかも定数のように利用することができます。値が一度しか代入できない点をのぞけば使い方は変数と同じです。

なお final をつけて変数を定数のように利用する場合、変数名はすべて大文字にし、複数の単語を組み合わせる場合はアンダーバーでつなげる名前の付け方がよく行われます。

サンプルコード

それでは簡単なサンプルプログラムを作って試してみます。テキストエディタで次のように記述したあと、 JSample10-1.java という名前で保存します。

class JSample10_1{
  public static void main(String[] args){
    final float TAX = 0.1F;

    float price = 800 * (1 + TAX);
    System.out.println("料金は" + price + "です");
  }
}

コンパイルを行います。

javac -encoding UTF-8 JSample10_1.java

その後で、次のように実行してください。

java JSample10_1

final変数の使い方(1)

final をつけた変数 TAX を定数のように使用しました。

-- --

final を使った変数を定数のように利用する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。