第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となります。

メンバ変数の初期化
変数の種類 データ型 初期値
基本データ型 byte 0
short 0
int 0
long 0L
float 0.0F
double 0.0
char '\u0000'
boolean false
参照型 String null
その他のクラス 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

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