第5回:Java言語の基礎(1) (2/2)

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

第5回:Java言語の基礎(1)
著者:八木裕乃/明壁敦子
監修者:須澤秀人  編者:ソキウス・ジャパン   2005/8/9
前のページ  1  2
解答

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

   選択肢の中で、Javaの予約語(言語仕様ではkeywordsと記述されています)はpublicとgotoです。gotoは使われていませんが予約語とされています。したがって、DEが正解です。このほかにも、メソッドなどに付ける修飾子(static、final、privateなど)もすべて予約語です。

   Javaでは大文字と小文字が区別されます。選択肢Aは、すべて大文字のNULLとなっているので、識別子として有効です。nullは厳密にいうと論理値リテラルです。

   選択肢Cのextendは、extendsと間違えないように注意してください。extendsは予約語です。選択肢FのIntegerは、java.lang.IntegerクラスはAPIで提供されていますが、クラス名は予約語ではありません。基本データ型(int、doubleなど)は予約語です。


第2問の解答: C、D、F

   java.lang.Stringクラスのコンストラクタには以下のものがあります。

String()
String(byte[] bytes))
String(byte[] ascii, int hibyte)(非推奨)
String(byte[] bytes, int offset, int length)
String(byte[] ascii, int hibyte, int offset, int count)(非推奨)
String(byte[] bytes, int offset, int length, String charsetName)
String(byte[] bytes, String charsetName)
String(char[] value)
String(char[] value, int offset, int count)
String(String original)
String(StringBuffer buffer)
   byte配列やchar配列を引数に指定することができます。また、Stringはnewキーワードを利用しなくても、ダブルクォーテーション(")で囲むとStringオブジェクトを作成できます。各選択肢に関する説明は以下のとおりです。

A.10は基本データ型であるint型のデータなので、String型とは互換性がなく、コンパイルエラーになります。
B.'Hello'は、文字が1文字ならば、char型のデータを表します。' '内は1文字しか記述できません。
C.正しい文字列の宣言です。
D.nullは、参照型であるString 変数に代入可能です。
E.new char[]{'H', 'e', 'l', 'l', 'o'}は、char型の配列です。char型の配列をそのままString変数に代入することはできません。コンストラクタの引数にすれば問題ありません。
F.new String(new byte[]{1, 2, 3})は、Stringのコンストラクタにbyte型配列を引数として指定しているので正しい式です。
G.new String('h')は、Stringクラスのコンストラクタにはchar型のデータを引数に取るものがありませんので、コンパイルエラーとなります。
   したがって、CDFが正解です。


第3問の解答: A

   02行目でString型変数strを宣言しています。初期値を与えていない場合、メンバ変数は暗黙的に初期化されます。Stringの場合、nullで初期化されます。コンパイルは正常に終了し、実行すると、「null」と表示されます。したがって、正解はAとなります。

メンバ変数の初期化
変数の種類データ型初期値
基本データ型byte0
short0
int0
long0L
float0.0F
double0.0
char'\u0000'
booleanfalse
参照型Stringnull
その他のクラスnull
第4問の解答: B

   double型配列の各要素は領域の確保と同時に0.0で初期化されます。

   04行目を実行すると、d1には要素数が3つの配列ができます。各要素は0.0で初期化されます。

   05行目のd2 = d1は、d1の参照先をd2に代入します。つまり、d1が参照している配列をd2も参照することになります。d2のデータ型はdouble型配列なので、代入可能です。05行目が終了すると、以下の図のようになります。

   06行目で、d2[0]の値は0.0で、これが表示されます。

   したがって、正解はBとなります。


第5問の解答: D

   コマンドラインからの引数は、mainメソッドの引数で受け取ることができます。コマンドラインの書式は以下のとおりです。

java <実行クラス名> <引数1> <引数2>
   各単語は半角スペースで区切ります。コマンドラインからの引数は、String型配列としてmainメソッドに渡されます。「実行クラス名」は渡されません。

   02行目でmainメソッドの引数名はaとなっているので、コマンドラインから渡されたString型配列はaで参照できます。

   03行目でa[2]には"Three"が格納されているので、「Three」が表示されます。したがって、Dが正解です。

前のページ  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
第5回:Java言語の基礎(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

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

企画広告も役立つ情報バッチリ! Sponsored