Tips

Java Silver 練習問題17

Java Silver 練習問題17

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

問題1
次のプログラムを実行して「合格」と表示させるためには、①にどのようなコードを書けば良いか。

[java] public class Sample {
public static void main(String[] args) {
① // ・・・①に当てはまるものを選べ
}
static String disp(int score) {
if(score >= 60) {
return "合格";
} else {
return "不合格";
}
}
}
[/java]
  1. disp(86);
  2. disp(54);
  3. System.out.print(disp(86));
  4. System.out.print(disp(54));
  5. 当てはまるものはない
解答はここをクリック!

【解答 3:System.out.println(disp(86));】

dispメソッドの戻り値はString型です。
そのためprintメソッドなどの処理がないと表示させることができません。

 

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

[java] public class Sample {
public static void main(String[] args) {
int sum = num1(10) + num2(20);
System.out.println(sum);
}

static int num1(int num) {
return 1;
}

static int num2(int num) {
return 2;
}
}
[/java]

  1. 「3」と表示
  2. 「30」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 1:「3」と表示される】

引数に10や20を渡していますが、その引数を使わずに1や2といったリテラルをリターンしています。

 

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

[java] public class Sample {
public static void main(String[] args) {
int num = 10;
inc(num);
System.out.println(num);
}

static void inc(int n) {
n++;
}
}
[/java]

  1. 「10」と表示
  2. 「11」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 1:「10」と表示される】

基本データ型の値を引数に渡す場合は値のコピーが渡されます。
要は、3行目で定義しているnumと8行目で引数に渡されているnは別物ということです。

 

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

[java] public class Sample {
public static void main(String[] args) {
int[] nums = { 10, 20, 30 };
inc(nums);
System.out.println(nums[0]);
}

static void inc(int[] array) {
array[0]++;
}
}
[/java]

  1. 「10」と表示
  2. 「11」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 2:「11」と表示される】

配列はオブジェクト参照型です。
引数にオブジェクト参照型の値を渡すと、値のコピーではなく参照が渡されます。
要は、3行目で定義しているnumsと、8行目で引数に渡されているarrayは同じものです。

 

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

[java] public class Sample {
public static void main(String[] args) {
String str = "Hello";
appendWolrd(str);
System.out.println(str);
}

static void appendWolrd(String str) {
str += "World";
}
}
[/java]

  1. 「Hello」と表示
  2. 「HelloWorld」と表示
  3. 何も表示されない
  4. コンパイルエラー
  5. 実行時エラー
解答はここをクリック!

【解答 1:「Hello」と表示される】

オブジェクト参照型は参照が渡されます。
しかし、String型は例外となるので気をつけて下さい。
String型の値に変更を加えると、その値は別のオブジェクトとなります。
つまり、メモリ内の別の場所に値ができるわけです。


 

前回の問題   次の問題

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

はじめてのJAVA 連載

Recent News

Recent Tips

Tag Search