変数とデータ
変数とデータの代入
変数内にはデータを代入できますが、変数内のデータは何回でも代入しなおすことができます。
変数内に新しいデータを代入すると、データは上書きされ、元のデータは利用できなくなります。元のデータをそのまま利用したい場合は、新しいデータは別変数に保存しましょう。
変数内のデータをコピー
変数から別の変数に代入を行うと、変数内のデータがコピーされます。
定数
変数のデータは上書き可能になっており書き換えが可能です。データを書き換え不可にするには定数(final変数)を利用します。定数を定義する際にはfinalを利用します。
※Javaでは定数を作成する際にfinalだけでなくpublicとstaticを組み合わせて定義することが多いのですが、この記事での定数は「データを上書き禁止にする」という観点で説明しています。
定数は変数との見分けを付けやすくするために大文字で名前をつけるのが一般的です。(複数の単語で構成される場合は_でつなげる場合もあります)
文法 | final データ型 変数名 = データ ; |
---|---|
記述例 | final double TAX_RATE = 1.08 ; |
変数と定数 サンプルプログラム
以下のプログラムを「Number03.java」という名前でworkフォルダ内に保存します。
保存が完了したら、コマンドプロンプトを起動し、コンパイルおよび実行を行ってみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
class Number03{ public static void main(String[] args){ int price1 = 100; price1 = 256; //変数のデータを上書き int price2 = price1; //変数のデータを別変数にコピー System.out.println(price1); System.out.println(price2); final double TAX_RATE = 1.08; //定数宣言と初期化 System.out.println(price1 * TAX_RATE); } } |
実行例
C:\Users\User>cd c:\work
c:\work>javac Number03.java
c:\work>java Number03
256
256
276.48
※実行例は作業フォルダへの移動からコンパイルおよび実行までの例を表示しています。
変数と定数 復習問題
- 定数として利用するために必要なキーワードは何か選んでください。
- 解答群
- static
- private
- int
- final
- 定数の特徴とて正しいものを選んでください。
- 解答群
- 整数として宣言することができる
- データを複数保存することができる
- データが上書き禁止となる
- データの初期値が設定できなくなる
- 以下の記述を行うと表示される数値を選んでください。
int num = 0;
num = 5;
System.out.println(num); - 解答群
- 0
- 5
- 1
- 05
- 以下の変数の説明として正しいものを選んでください。
- 解答群
- 変数は初期値のデータから上書きができない
- 変数は宣言した型から変更できる
- 変数内のデータは上書きができる
- 変数内のデータを上書きすると、それ以降は上書き前のデータは利用できない
- 定数名として推奨される記述方法を選んでください。
- 解答群
- TAX_RATE
- tax_rate
- taxRate
- taxrate
- お疲れ様でした。
まとめ
- 変数には何回でも代入ができるが、前に代入したデータは新しいデータに書き換わるので利用できなくなる
- 変数から変数へ代入を行うと、変数内のデータがコピーされる
- 変数はデータの書き換えが可能だが、宣言時「final」を付けると書き換えができなくなる(定数)
- 定数名は全て大文字で付ける