基本データ型のキャスト:問題1 | Javaプログラミング初心者のためのページ

基本データ型のキャスト:問題1

問題:以下のプログラムのコンパイル/実行結果として適切なものを1つ選択しなさい。

A. 変数xへの代入文でコンパイルエラー(型の不一致)
B. 変数yへの代入文でコンパイルエラー(型の不一致)
C. 5 が表示される
D. 5.0 が表示される


public class M {
    public static void main(String[] args) {
        int x = 5;
        double y = x;
        System.out.println(y);
    }
}





















正解:
D. 5.0 が表示される

解説:
変数xへの代入文・・・int型変数 = int型リテラル → データ型は一致しています。
変数yへの代入文・・・double型変数 = int型変数 → 大きな型への代入です。

より大きな型への代入では、自動的に型変換が行われるため、
キャスト演算を行わなくてもyの値は5.0になります。