前回、変数のデータの型について学びました。
まだ理解が浅いという方は、ぜひこちらもご覧ください。
さて、今回は「定数」について学んでいきましょう。
定数とは
値を後から変更できない変数のことです。
変数は、値を好きに変更することができます。
定数は、一度値を代入すると変更することができません
一度値が代入されたら、値を書き換えることはできない特別な変数です。
定数の宣言・初期化
定数は、宣言と同時に初期化(値を代入すること)が必要です。
以下のように定数は定義します。
定数の宣言方法
変数名の定義に加え、final演算子が必要になる。
final 型 定数名 = 初期値;
定数の扱う上での注意点
- 命名規則
- 定数に代入しようとするとエラーが起きる
命名規則
定数の命名規則には慣習があります。
定数名は「全て大文字の英字」で定義します。
final int TAX = 1.1; // 消費税
2つ以上の単語を使う場合は、「_」を使って繋げます。
これを「スネークケース」と呼びます。
蛇のように見えるためです。
final double TAX_JAPAN = 1.1; // 日本の消費税
final double TAX_AMERICA = 1.05; // アメリカの消費税(州によって異なりますが)
- 変数は「キャメルケース」
- 例:startDate
- 定数は「スネークケース」
- 例:USER_TRACKING_ID
定数に代入しようとするとエラーが起きる
以下のプログラムは、定数に値を代入しようとしています。
final double TAX = 1.1;
TAX = 1.2; // コンパイルエラー!
コンパイル結果:final変数TAXに値を代入することはできません
というエラーが起きてしまいます。
エラーが起きても直せば良いので焦らなくて大丈夫ですが、注意しておきましょう。
定数を使う場面とは
ここからは物語形式でいきましょう。
もう理解したよ〜という方は読み飛ばして大丈夫です!
さて、以下のプログラムでは「消費税と価格を掛け合わせて販売金額を算出」していますね。
public class Main {
public static void main(String[] args) {
double tax = 1.1;
int price = 1000;
System.out.println("1000円から800円に値下げします")
tax = 800;
System.out.println("販売価格は、" + price * tax + "円です");
}
}
おっと……?気付きました?
消費税の値に800を代入していますね。
結果が「販売価格は、800000円です」となります。
1つの代入ミスによって、大きな問題に繋がります。
このように、実際にシステムを開発していると「これは上書きしたらダメ!」という値が出てきます。
未然にミスを防ぐためにも、定数は使われるんですね。
ちなみに、実際に使うとしたらこんな感じでしょうか。
public class Main {
public static void main(String[] args) {
final double TAX = 1.1;
int price = 1000;
System.out.println("1000円から800円に値下げします")
// TAX = 800; → コンパイルエラーになり実行できない。つまりミスを防げる
price = 800
System.out.println("販売価格は、" + price * TAX + "円です");
}
}
また、定数は大文字で書くという慣習があるので、ぱっと見でもわかりやすいですね。
ちなみに、データ型さえ変えればなんでも定数にできます。
色々試してみてくださいね!
// 例:文字列の定数
final String USER_NAME = "Taro Yamada";
次にオススメ
現在準備中。。。
私のTwitterでもご相談を受け付けているので、お気軽にご連絡ください🙌