基本データ型のキャスト:問題4
問題:以下のプログラムのコンパイル/実行結果として適切なものを1つ選択しなさい。
A. 変数xへの代入文でコンパイルエラー(型の不一致)
B. 変数yへの代入文でコンパイルエラー(型の不一致)
C. 5 が表示される
D. 5.0 が表示される
public class M {
public static void main(String[] args) {
double x = 5;
int y = x;
System.out.println(y);
}
}
正解:
B. 変数yへの代入文でコンパイルエラー(型の不一致)
解説:
変数xへの代入文・・・doulbe型変数 = int型リテラル → 大きな型への代入です。
変数yへの代入文・・・int型変数 = double型変数 → 小さな型への代入です。
より小さな型への代入を行うには明示的なキャストが必要です。
A. 変数xへの代入文でコンパイルエラー(型の不一致)
B. 変数yへの代入文でコンパイルエラー(型の不一致)
C. 5 が表示される
D. 5.0 が表示される
public class M {
public static void main(String[] args) {
double x = 5;
int y = x;
System.out.println(y);
}
}
正解:
B. 変数yへの代入文でコンパイルエラー(型の不一致)
解説:
変数xへの代入文・・・doulbe型変数 = int型リテラル → 大きな型への代入です。
変数yへの代入文・・・int型変数 = double型変数 → 小さな型への代入です。
より小さな型への代入を行うには明示的なキャストが必要です。