Javaを学び始めた方の中には、「定数って何?どうやって使うの?」と疑問を持つ方もいるのではないでしょうか。この記事では、Javaにおける定数の基本とその使い方を具体例とともに解説します。
定数とは?
定数(constant) とは、一度値を設定すると変更できない変数のことです。
例えば、「円周率」「最大値」「固定の割引率」など、プログラム中で変更が必要ない値を表現します。
Javaでは、定数を定義する際にfinal
キーワードを使用します。さらに、クラス全体で共有する場合はstatic
キーワードを併用します。
定数を定義する方法
クラスの中で定義する
定数は通常、public static final
の形で定義します。
public class Constants {
public static final double PI = 3.14159; // 円周率
public static final int MAX_USERS = 100; // 最大ユーザー数
}
ポイント:
-
public
: 他のクラスからもアクセス可能。 -
static
: クラス全体で共有(インスタンスを作らずにアクセス可能)。 -
final
: 値が変更不可。
メソッドの中で定義する
メソッド内で定義する場合、static
は不要です。
public class Example {
public void calculate() {
final int DISCOUNT_RATE = 10; // 割引率
System.out.println("割引率は: " + DISCOUNT_RATE + "%");
}
}
定数を使う例
定義した定数は、以下のようにアクセスします。
public class Main {
public static void main(String[] args) {
// クラスの定数を参照
System.out.println("円周率: " + Constants.PI);
System.out.println("最大ユーザー数: " + Constants.MAX_USERS);
}
}
結果:
円周率: 3.14159
最大ユーザー数: 100
定数を使うメリット
-
可読性の向上
- 「3.14159」や「100」などのマジックナンバーを避け、意味を持つ名前で値を表現できます。
-
値の変更が簡単
- 定数を一箇所で定義しておけば、値を変更する際も1箇所修正するだけで済みます。
-
再利用性
- 同じ値を複数の場所で使う場合に便利です。
定数の命名規則
定数名は、一般的に全て大文字で記述し、単語の間はアンダースコア(_
)で区切ります。
public static final int MAX_USERS = 100;
public static final String DEFAULT_MESSAGE = "Hello, World!";
この規則に従うことで、変数と定数を簡単に区別できます。
注意点
-
final
キーワードを使っても、オブジェクトの参照先(値そのものではなく、参照先の内容)は変更できる点に注意してください。
public class Example {
public static final List<String> NAMES = new ArrayList<>();
public static void main(String[] args) {
NAMES.add("Alice"); // OK: リストに追加
// NAMES = new ArrayList<>(); // エラー: 参照の変更は不可
}
}
まとめ
Javaで定数を使用する際のポイントを整理すると以下の通りです:
- 定数には
final
を使う。 - クラス全体で共有する場合は
static final
。 - 命名規則に従って可読性を意識する。
定数はコードの品質を高めるための重要なツールです。ぜひ活用してみてください!