Javaプログラミング初心者のためのページ
Amebaでブログを始めよう!
1 | 2 | 3 | 4 | 5 | 最初次のページへ >>

ランキングアップ賞

キラキラAmeba人気ブログランキングキラキラ
2010年01月度 月間段位アップ賞
「Happy Valentine’s Day」カード


2010年01月度



本文はここから

基本データ型のキャスト:問題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型変数 → 小さな型への代入です。

より小さな型への代入を行うには明示的なキャストが必要です。

基本データ型のキャスト:問題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が格納されます。
1 | 2 | 3 | 4 | 5 | 最初次のページへ >>