👩🏼🏫
【Java】varを使った変数宣言
はじめに
Java Silverの受験にあたって、勉強したことをまとめました。
今回はちょっと短めです!
var
と型推論について
-
ローカル変数の宣言時に、データ型を指定せず
var
を使って変数を宣言できる -
var
を使用すると、宣言時の右辺の内容から型を推測してくれる(これを型推論という) - 型推論はコンパイル時に行われる
- 初期化で代入される値からデータ型を決定するので、必ず変数の宣言時に初期化すること!
// 今までの書き方
int num = 100;
// varを使った書き方
var num = 100;
// 初期化していないのでコンパイルエラー
var num;
varが使えるところ
- ローカル変数の初期化
- 拡張for文内のインデックス
- 通常for文内で宣言されたローカル変数
- try-with-resources文内のローカル変数
など…詳しくはOracleのページで確認する
ローカル変数
public class Main {
public static void main(String[] args) {
var num = 100; // ローカル変数なのでvarを使用できる
System.out.println(num);
}
}
varが使えないところ
- フィールド(メンバ変数)
- メソッドの引数
- メソッドの戻り値
- コンストラクタの引数
- catchブロック
メンバ変数
public class Hero {
// メンバ変数なのでvarは使用できない
String name = "akari";
int hp = 100;
}
まとめ
- varはローカル変数の初期化時に使用できる
- 初期化していない場合や、メンバ変数で使用した場合はコンパイルエラー
- ローカル変数とは、メソッド内に書かれた変数
- メンバ変数とは、クラス直下(メソッドの外側)に書かれた変数
参考
Discussion