第7回:演算子とデータのメモリ割り当て(1) (2/2)

徹底攻略Java 2プログラマ問題集 Platform 1.4対応
徹底攻略Java 2プログラマ問題集 Platform 1.4対応

第7回:演算子とデータのメモリ割り当て(1)
著者:八木裕乃/明壁敦子
監修者:須澤秀人  編者:ソキウス・ジャパン   2005/8/16
前のページ  1  2
解答

   1ページ目の問題の解答を掲載します。解答には、問題の正解やその理由だけでなく、用語や重要事項などが詳しく解説されています。
第1問の解答: E

   文字列は、+演算子を用いると連結することができます。+演算子の右辺もしくは左辺が文字列の場合で、もう一方がint、long、doubleなどの数値型、boolean型、char型である場合、それらを文字列に変換して結合します。

   この問題の"Hello" + 10 + 20では、まず"Hello" + 10の部分が処理されます。10は文字列の"10"に変換されます。その結果、"Hello10"という文字列(Stringオブジェクト)が生成されます。次に、"Hello10" + 20の演算が行われ、sが参照する文字列の内容は、"Hello1020"になります。したがって、Eが正解です。

   文字列の連結ではなく、10 + 20の演算を行いたい場合は、(10 + 20)のように括弧で数値同士の加算を先に行うように指示すれば、「Hello30」と表示されます。


第2問の解答: C

   参照データ型の型変換(キャスト)に関する問題です。

   ParentクラスとChildクラスには継承関係があります。16行目でChildクラスのインスタンスを生成し、Child型のchildObj変数で参照しています。

   次に19行目で、その参照をParent型のparentObj変数にコピーします。このときに、左辺と右辺のデータ型が異なりますが、左辺がスーパークラスの型、代入する値がサブクラスのオブジェクトの場合、型変換(キャスト)が行われます。サブクラスからスーパークラスへの型変換は暗黙的に行われます。

   22行目では、Parent型にキャストされていたオブジェクトを、再度Child型に戻しています。スーパークラスからサブクラスへの型変換は、明示的に行います。キャスト演算子を用いて型変換を行います。

例: parentObjが参照しているオブジェクトをChild型に型変換する
(Child)parentObj;
   プログラムはコンパイル、実行ともに成功します。したがって、Cが正解です。


第3問の解答: D

   インクリメンタル演算子の前置と後置に関する問題です。

   i++ 
   そのため、1回目の繰り返し処理の際は、0 D
が正解です。


第4問の解答: B、C

   オブジェクトの比較に関する問題です。

   ==演算子は、参照変数の場合は、参照しているオブジェクトがまったく同一であるかどうかを比較します。同じ型であるか、オブジェクトに格納されているデータが同じであるか、同じアドレスに存在するか、などを比較しています。設問のプログラムの場合は、データ型、格納されているデータは同一ですが、それぞれ別々のアドレスに存在するオブジェクトであるため、==演算子を用いた場合は、falseが返されます。

   Stringクラスのequalsメソッドは、同じオブジェクトであるか、同じオブジェクトではなくても、オブジェクトの型と、オブジェクトが格納している文字列が同一であるかを比較します。同じ型で、なおかつ格納している文字列が同一の場合、trueが返されます。設問のプログラムでは、同じ"Apple"という文字列を格納しているため、trueが返されます。

   したがって、BCが正解です。

前のページ  1  2

書籍紹介
徹底攻略Java 2プログラマ問題集
Platform 1.4対応

徹底攻略Java 2プログラマ問題集 Platform 1.4対応 SUN Java認定コースを担当する著者が臨場感ある問題と解説を書き下ろし!出題傾向をカバーする精錬問題を豊富に用意しているので、短期間で効率よく学習できます。実際の出題傾向を問題に盛り込むほか、詳しい解説をそれぞれ用意。単純な正否だけでなく、選択肢ごとになぜこれが正しいか、誤っているかその根拠をていねいに紹介しています。最終章の総仕上げ問題で試験の模擬対策も万全です!
発売日:2004.12.17発売
販売価格:3,360円(税込)

著者プロフィール
八木 裕乃
株式会社CSK 教育サービス事業部に所属。現在は、Java、UMLを利用したオブジェクト指向系の開発講座のコース開発からインストラクションまでを担当。Javaとはα版からの付き合いでそろそろ10年来となる!?取得資格:SJC-P、SJC-WC、OCUP Foundamental、MCSD、オラクルマスターなど著書:「マイクロソフト認定技術資格試験 MCP/MCSE必須用語辞典」(アスキー)



著者プロフィール
明壁 敦子
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、オブジェクト指向、Webアプリケーション開発などの教材作成および講義を担当。Sun認定Javaインストラクタとしては、自らがJavaの習得に苦労した経験から、初心者でも解りやすい講座を心がけている。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど



監修者プロフィール
須澤 秀人
株式会社CSK 教育サービス事業部に所属。Java、UML、XML、ASP.NET、C、C++などの教材作成および講義を担当。「よく食べよく寝る」が座右の銘。取得資格:SJC-P、SJC-WC、OCUP Fundamentalなど著書:「dBASE?PLUSパーフェクトマスター入門編」(秀和システム)、「基本情報技術者 午後 Java スーパー攻略」(秀和システム・共著)など



編者プロフィール
株式会社ソキウス・ジャパン
クォリティ・メディア・カンパニーを標榜する出版社。2001年11月設立。2002年10月より株式会社インプレスと協業し、これまで30冊近い「徹底攻略問題集」を編纂する。また、自社で月刊「オープン・エンタープライズ・マガジン」を発行、発売している。
http://www.sociusjapan.co.jp/


INDEX
第7回:演算子とデータのメモリ割り当て(1)
  問題
解答
徹底攻略Java 2プログラマ問題集 Platform 1.4対応
第1回 クラス定義とアクセス制御
第2回 制御文、アサーションと例外処理(1)
第3回 制御文、アサーションと例外処理(2)
第4回 ガーベッジコレクション
第5回 Java言語の基礎(1)
第6回 Java言語の基礎(2)
第7回 演算子とデータのメモリ割り当て(1)
第8回 演算子とデータのメモリ割り当て(2)
第9回 オーバーロード、オーバーライド、実行時のデータ型(1)
第10回 オーバーロード、オーバーライド、実行時のデータ型(2)
第11回 オーバーロード、オーバーライド、実行時のデータ型(3)
第12回 スレッド
第13回 java.langパッケージのJava言語の基礎
第14回 コレクション・フレームワーク

人気記事トップ10

人気記事ランキングをもっと見る