Java | Java 10から使える var を使った変数宣言(型推論)について

Java Java
スポンサーリンク

練習問題(全10問) — Javaのvar基礎チェック

ここでは 「Java 10から使える var(型推論)」 に関する
練習問題10問 + 解答・解説付き
をプログラミング初心者向けにやさしくまとめます。



【問題1】

次のコードで a の型は何でしょう?

var a = 10;
Java

✅ 解答

int

💬 解説

整数リテラル 10int 型なので、a は自動的に int 型になります。
(Javaでは整数リテラルはデフォルトで int です)


【問題2】

次のコードをコンパイルしたらどうなりますか?

var x;
x = 10;
Java

✅ 解答

コンパイルエラー。

💬 解説

var では 宣言と同時に初期化が必須
代入しないと型を推論できないため、エラーになります。


【問題3】

次のコードの name の型を答えなさい。

var name = "Tanaka";
Java

✅ 解答

String

💬 解説

文字列リテラル "Tanaka"String 型なので、nameString 型になります。


【問題4】

次のコードの num の型を答えなさい。

var num = 3.14;
Java

✅ 解答

double

💬 解説

小数リテラルはデフォルトで double 型になります。
もし float にしたい場合は 3.14F と書きます。


【問題5】

次のコードの num の型を答えなさい。

var num = 3.14F;
Java

✅ 解答

float

💬 解説

末尾の F が付いていると、リテラルは float 型として扱われます。


【問題6】

次のコードをコンパイルするとどうなりますか?

var data = null;
Java

✅ 解答

コンパイルエラー。

💬 解説

null だけでは型が特定できません。
var では「値」から型を決める必要があるので、null は不可です。


【問題7】

次のコードをコンパイルするとどうなりますか?

var a = 1, b = 2;
Java

✅ 解答

コンパイルエラー。

💬 解説

var では複数の変数を同時に宣言できません。
個別に書く必要があります:

var a = 1;
var b = 2;

【問題8】

次のコードの num の型を答えなさい。

var num = 100L;
Java

✅ 解答

long

💬 解説

末尾に L を付けた整数リテラルは long 型です。
int より大きな整数を扱うときに使います。


【問題9】

次のコードはコンパイルできますか?

var list = new ArrayList<String>();
list.add("Apple");
list.add("Banana");
Java

✅ 解答

コンパイル可能。

💬 解説

右辺の new ArrayList<String>() から型が ArrayList<String> と推論されます。
listArrayList<String> 型として扱われます。


【問題10】

次のプログラムを実行すると、出力はどうなりますか?

class Test {
  public static void main(String[] args) {
    var x = 5;
    var y = 2.0;
    var result = x * y;
    System.out.println(result);
  }
}
Java

✅ 解答

10.0

💬 解説

xintydouble
int * double の結果は double 型に自動変換されます。
よって resultdouble 型となり、10.0 が表示されます。


まとめ(重要ポイント)

覚えておきたいルール内容
宣言時に初期化が必須var x; はエラー
null 初期化は不可型が推論できない
複数同時宣言不可var a = 1, b = 2; はエラー
推論された型は固定一度決まったら他の型を代入できない
ローカル変数のみ使用可フィールドや引数では使えない

おすすめ練習(追加チャレンジ)

次のようなコードを書いて、どんな型になるか実際に System.out.println() で確認してみましょう。

class VarPractice {
  public static void main(String[] args) {
    var num = 123;
    var text = "Hello";
    var price = 999.99;
    var flag = true;
    var ch = 'A';

    System.out.println(num + " → " + ((Object)num).getClass().getSimpleName());
    System.out.println(text + " → " + ((Object)text).getClass().getSimpleName());
    System.out.println(price + " → " + ((Object)price).getClass().getSimpleName());
    System.out.println(flag + " → " + ((Object)flag).getClass().getSimpleName());
    System.out.println(ch + " → " + ((Object)ch).getClass().getSimpleName());
  }
}
Java

実行すると、それぞれの型(Integer, String, Double, Boolean, Character)が出力されます!
自分の目で確かめると理解が一気に深まります。

タイトルとURLをコピーしました