目次 | リダイレクトとフォワード | DAO関連
基本データ型のキャスト:問題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型変数 → 小さな型への代入です。
より小さな型への代入を行うには明示的なキャストが必要です。
基本データ型のキャスト:問題3
問題:以下のプログラムのコンパイル/実行結果として適切なものを1つ選択しなさい。
A. 変数xへの代入文でコンパイルエラー(型の不一致)
B. 変数yへの代入文でコンパイルエラー(型の不一致)
C. 5 が表示される
D. 5.0 が表示される
public class M {
public static void main(String[] args) {
double x = 5;
int y = (int)x;
System.out.println(y);
}
}
正解:
C. 5 が表示される
解説:
変数xへの代入文・・・double型変数 = int型リテラル → 大きな型への代入です。
変数yへの代入文・・・int型変数 = double型変数 → 小さな型への代入ですが、明示的なキャストを行っています。
より小さな型への代入を行うには明示的なキャストが必要です。
キャスト演算により変数yには整数に変換された5が格納されます。
A. 変数xへの代入文でコンパイルエラー(型の不一致)
B. 変数yへの代入文でコンパイルエラー(型の不一致)
C. 5 が表示される
D. 5.0 が表示される
public class M {
public static void main(String[] args) {
double x = 5;
int y = (int)x;
System.out.println(y);
}
}
正解:
C. 5 が表示される
解説:
変数xへの代入文・・・double型変数 = int型リテラル → 大きな型への代入です。
変数yへの代入文・・・int型変数 = double型変数 → 小さな型への代入ですが、明示的なキャストを行っています。
より小さな型への代入を行うには明示的なキャストが必要です。
キャスト演算により変数yには整数に変換された5が格納されます。