今回やること
変数は、値を名前付きで保存する場所です。Javaでは、値を入れる時に型(データの種類)を指定します。
前提条件: Java入門 #2 - 最初のプログラム(Hello World)を終え、
System.out.printlnで文字列を出力できること。
int age = 16;
double price = 1980.5;
String name = "Ada";
boolean isStudent = true;
int、double、String、booleanが型です。変数名はuserNameやmaxCountのように、先頭を小文字、次の単語を大文字にするキャメルケースがよく使われます。
最小プログラムを動かす
新しいファイルをVariableExample.javaとして保存し、次を入力します。
public class VariableExample {
public static void main(String[] args) {
int score = 80;
String name = "Ada";
boolean passed = score >= 60;
System.out.println(name + "の点数: " + score);
System.out.println("合格: " + passed);
}
}
ターミナルでコンパイルして実行します。
javac VariableExample.java
java VariableExample
よく使う型
| 型 | 入れる値 | 例 |
|---|---|---|
int | ふつうの整数 | int count = 10; |
long | 大きい整数 | long id = 3_000_000_000L; |
double | 小数 | double rate = 0.75; |
boolean | true / false | boolean isOpen = true; |
char | 1文字 | char grade = 'A'; |
String | 文字列 | String city = "Tokyo"; |
最初はint、double、boolean、Stringを使えれば十分です。longの値には末尾にL、floatを使うなら末尾にfが必要です。
Javaには8つのプリミティブ型(byte、short、int、long、float、double、char、boolean)があります。Stringはプリミティブ型ではなく参照型です。今は「文字列を入れる型」と理解しておけば大丈夫です。
値を更新する
宣言した後に値を変える時は、型を書き直しません。
int count = 1;
count = count + 1;
final int MAX_COUNT = 100;
// MAX_COUNT = 200; // finalなので変更できない
finalは、後から変えてはいけない値に付けます。定数名はMAX_COUNTのように大文字とアンダースコアで書く慣例があります。
成功確認
最小プログラムを実行し、次のように表示されれば成功です。
Adaの点数: 80
合格: true
scoreを50に変えてもう一度実行し、合格: falseになることも確認してください。
よくあるつまずき
文字列をシングルクォートで囲む
'A'は1文字のchar、"Ada"は文字列のStringです。String name = 'Ada';はコンパイルできません。
値を入れる前の変数を使う
ローカル変数は、値を入れてから使う必要があります。
int score;
// System.out.println(score); // コンパイルエラー
score = 80;
charの初期値を実NUL文字で書く
NULは見えない制御文字なので、ソースへ直接入れません。NUL文字を表す必要がある時は、Javaのエスケープ表記で'\0'と書きます。通常の学習では文字を入れた'A'を使えば十分です。
練習
自分の名前、学年、好きな教科、部活に所属しているかを変数に入れ、System.out.printlnで一行ずつ表示してください。数字を使う値にはint、はい・いいえにはbooleanを選びます。
次のステップ
Java入門 #4 - 演算子(算術・比較・論理)で、変数を使った計算や条件判定を学びます。