IT転職・プログラミングスクール

System.out.print(配列)の出力結果は?【Java Silver例題】

Java Silver 例題

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。

今回は、System.out.print(配列)とした場合の出力結果についてです。

 

Javaで誰もが最初に習うSystem.out.print()

数値や文字列を出力することができ、変数を入れるとその変数の中身を出力することができます。

Java Silverでは配列を出力する結果を問う問題が出題されます。

 

問題:System.out.print(配列)の出力結果について

早速ですが、次の2問を解いてみてください。

問1

A.    apple, orange
B.    apple orange
C.    apple
D.    ハッシュコードが表示される
E.    実行時に例外がスローされる
F.    コンパイルエラー

 

問2

A.    [ apple, orange ]
B.    apple orange
C.    apple
D.    ハッシュコードが表示される
E.    実行時に例外がスローされる
F.    コンパイルエラー

 

いかがでしょうか?

意外とつまづく問題だったかもしれません。

 

 

 

答えは
問1 D
問2 A      です。

 

Java Silver 問題集
参考記事【Java Silver問題集】高頻出・間違えやすい問題たち

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。 出題確率が高く、間違いやすい例題が解説付きで100問以上あります。   Java Silver 問 ...

続きを見る

 

System.out.print(配列)のポイントと解説

配列の1つを出力するのはSystem.out.print(array[0])としてよくあることですが、思ってみれば配列自体を出力したことがない人も少なくはないでしょう。

実は次のように配列自体を出力しようとしても、配列内に格納している要素は出力されません。

エラーにもならず、ハッシュ値が出力されます。

int[] array = new int[]{1,2,3};
System.out.print(array);

出力結果
[I@4617c264

 

一方、ArrayListではリスト自体を出力すると各要素を取得することができます。

ArrayList<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
System.out.print(list);

出力結果
[1,2,3]

 

出力の際はこの違いを知っておく必要があります。

 

解説

今回の問題は、上述した配列を出力したときの挙動さえ理解していればなんてことはありません。

 

問1

A.    apple, orange
B.    apple orange
C.    apple
D.    ハッシュコードが表示される
E.    実行時に例外がスローされる
F.    コンパイルエラー

 

この問題ではString型の配列array自体を8行目で出力しています。

そのため、配列のハッシュコードが出力されるため答えはDです。

 

問2

A.    [ apple, orange ]
B.    apple orange
C.    apple
D.    ハッシュコードが表示される
E.    実行時に例外がスローされる
F.    コンパイルエラー

 

この問題ではArrayList自体を出力しようとしています。

この場合、ハッシュコードではなくlistに格納されている要素自体が出力されるため、[apple, orange]が得られます。

したがって、答えはAです。

 

 

Java Silver 問題集
参考記事【Java Silver問題集】高頻出・間違えやすい問題たち

この記事は、Oracle Java SE8 Silver(1Z0-808)の対策講座です。 出題確率が高く、間違いやすい例題が解説付きで100問以上あります。   Java Silver 問 ...

続きを見る

-IT転職・プログラミングスクール
-,

Copyright© 人生2段飛ばし , 2020 All Rights Reserved Powered by AFFINGER5.