Tips

Java Silver 練習問題4

Java Silver 練習問題4

Java Silverに関する問題を出題していきます!

■問題1

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        byte b = 255;
        float f = 1.7f;
        boolean bo = false;
        System.out.println(b + " " + f + " " + bo);
    }
}
  1. 3行目でコンパイルエラー
  2. 4行目でコンパイルエラー
  3. 実行時エラー
  4. 255 1.7 false
  5. b f bo
解答はここをクリック!

【解答:1】

byte型の変数に代入できるのは-128~127の値です。

 

 

■問題2

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

class Sample {
    public static void main(String[] args) {
        int x = 4;
        System.out.print(x++ + ", ");
        System.out.print(++x);
    }
}
  1. 4, 5
  2. 4, 6
  3. 5, 5
  4. 5, 6
  5. コンパイルエラー
解答はここをクリック!

【答え:2】
4行目のインクリメントはxの後ろについています。(後置)
後置の場合は出力後に加算するのでまだ4のままです。
一方で5行目のインクリメントはxの前についています。(前置)
前置の場合は表示前に加算されるので5に1加算され6と表示されます。

 

 

■問題3

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        int i = 9;
        if(i % 5 == 0) {
            System.out.println("5で割り切れます");
        }
    }
}
  1. 4行目でコンパイルエラー
  2. 5行目でコンパイルエラー
  3. 実行時エラー
  4. 「5で割り切れます」と出力
  5. 何も出力されない
解答はここをクリック!

【答え:5】
if文の条件式は9を5で割ったときの余りと0を比較しています。
4と0は等しくないのでfalseとなりif文の処理は実行されません。

 

■問題4

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        int i = -10;
        if (i % 5 == 0) {
            System.out.println("5で割り切れます");
        } else if (i % 5 != 0) {
            System.out.println("5で割り切れません");
        } else if (i < 0) {
            System.out.println("不正な値です");
        }
    }
}
  1. 「5で割り切れます」と出力
  2. 「5で割り切れません」と出力
  3. 「不正な値です」と出力
  4. 何も出力されない
  5. コンパイルエラー
解答はここをクリック!

【答え:1】
if文は上から順に判定されるので、iを5で割ったときの余りが0かが最初に判定されます。
-10 / 5は-2余り0なので5で割り切れますと出力されます。
もし、不正な値の判定を行いたいのであれば、最初に判定する必要があります。

 

■問題5

次のプログラムをコンパイル、実行した結果として正しいものはどれか。

public class Sample {
    public static void main(String[] args) {
        int i = 7;
        if(i % 2 == 0) System.out.print("2で割り切れます。");
        System.out.print("偶数です。");
    }
}
  1. 「2で割り切れます。偶数です。」と出力
  2. 「2で割り切れます」と出力
  3. 「偶数です」と出力
  4. 何も表示されない
  5. コンパイルエラー
解答はここをクリック!

【答え:3】
if文に{}が付いていません。この場合直後の一文のみがif文の処理の対象となります。
したがって「偶数です。」という出力はif文の結果に関係なく実行されることとなります。
インデントをみてみるとわかりやすいですね。

 

 

新連載はじまりました!新Java基礎 連載リンク

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search