【Java初心者】Java Programmer Bronze SE 7/8 (1Z0-814)の過去問で間違えた問題について(2)

プログラミング

Java初心者の私がJava Programmer Bronze SE 7/8 (1Z0-814)の過去問で間違えたところをまとめていきます。

間違えた過去問その1<重要度★★★>

◆問題
JVM (Java Virtual Machine)の役割として適切なものはどれですか。2つ選択してください。

A. ソースコードをコンパイルする

B. クラスのロード

C. バイトコードを解釈する

D. classファイルを逆アセンブルする

◆解答
B.C

◆解説
JVM(Java Virtual Machine)は、Javaのプログラムを実行するためのソフトウェアであり、Javaバイトコードをプラットフォーム固有のネイティブコードに変換しながら実行します。JVMは単独でインストールすることはできず、Javaの実行環境であるJRE(Java Runtime Environment)に含まれます。

Javaのプログラムを実行するためには、javaコマンドを使用してJVMにクラスファイルを渡します。JVMは、指定されたクラスファイルを読み込み、バイトコードを解釈しながら実行します。つまり、JVMはJavaコードをネイティブマシンコードに変換することなく、バイトコードとして解釈して実行することができます。
従って、選択肢B.Cが正解です。

選択肢Aは、ソースコードのコンパイルはJDKに含まれるコンパイラの役割となるため、不正解です。
選択肢Dは、JVMに逆アセンブルの役割はないため、不正解です。

以下に、JDK、JRE、JVMのそれぞれの役割と違いを示します。

JDK (Java Development Kit)JRE (Java Runtime Environment)JVM (Java Virtual Machine)
定義Javaの開発ツール群Javaプログラムの実行環境Javaバイトコードを実行するエンジン
機能Javaアプリケーションの開発、コンパイル、デバッグJavaアプリケーションの実行Javaバイトコードをマシン語に変換して実行
内容JRE + Java開発ツール群Javaクラスライブラリ + JVMJVM
役割Javaアプリケーションの開発環境を提供Javaプログラムの実行環境を提供Javaバイトコードを実行するエンジンとして機能
必要なものなしJREJRE
インストール必要一般的には必要不要
バージョン管理JDKのバージョンによって異なるJREのバージョンによって異なるJVMのバージョンによって異なる

間違えた過去問その2<重要度★☆☆>

◆問題
Javaが提供するエディションとして不適切なものはどれですか。1つ選択してください。

A. Java SE

B. Java DB

C. Java EE

D. Java ME

◆解答
B

◆解説
Javaテクノロジについての問題です。
Javaテクノロジは、Java SE、Java EE、Java MEの3つのエディションを提供しています。正式名称は次のようになっています。

  •   Java Platform, Standard Edition (Java SE)
  •   Java Platform, Enterprise Edition (Java EE)
  •   Java Platform, Micro Edition (Java ME)

Java DBは、JDKに同梱されているデータベースのため、Javaテクノロジが提供するエディションではありません。したがって、選択肢Bは不適切なので正解です。

Java SEは、Javaプログラミング言語の基本的な機能を含んだエディションであり、単体で使用することも、クライアント/サーバーシステムの開発に利用することもできます。
したがって、適切な記述であり、不正解です。

Java EEは、Webアプリケーションや大規模な業務アプリケーションの開発に使用されるJavaのエディションです。Java EEには、サーブレット、JSP、EJBなどのテクノロジが含まれています。Java EEは、Java SEと組み合わせて使用されることが一般的です。したがって、適切記述なので不正解です。

Java MEは、家電製品、携帯電話、モバイル端末など、リソースのサイズに制限のあるような機器向けの、組み込み系プログラムの開発に使用されるエディションです。Java MEはJava SEと組み合わせて使用します。従って、適切な表現なので不正解です。

以下にJava SE、Java EE、Java MEの3つのエディションについてまとめました。

エディション名称の意味用途
Java SEJava Standard EditionJava言語の基礎となる標準的な機能をまとめたエディション。スタンドアロンや、クライアント/サーバシステムの開発に使用できる。
Java EEJava Enterprise Edition買い物サイトなどのWebアプリケーションや大規模な業務アプリケーションの開発に使用されるエディション。サーブレットやJSP、EJBといったテクノロジが含まれる。Java SEと組み合わせて使用される。
Java MEJava Micro Edition携帯電話などの小規模なデバイスで動作するアプリケーションの開発に使用されるエディション。Java SEの機能の一部を含む。

間違えた過去問その3<重要度★★☆>

◆問題
基本データ型として適切なものはどれですか。3つ選択してください。

A. bit

B. int

C. String

D. char

E. date

F. double

◆解答
B,D,F

◆解説
Javaでは、8つの基本データ型が定義されています。
以下にJavaの基本データ型とその範囲を表にまとめました。

データ型説明サイズ(バイト数)範囲
byte整数値(8ビット)1-128 ~ 127
short整数値(16ビット)2-32,768 ~ 32,767
int整数値(32ビット)4-2,147,483,648 ~ 2,147,483,647
long整数値(64ビット)8-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
float浮動小数点数41.4E-45 ~ 3.4028235E38
double浮動小数点数84.9E-324 ~ 1.7976931348623157E308
charUnicode文字を表す2‘\u0000’ ~ ‘\uffff’
boolean真偽値を表す1trueまたはfalse

各選択肢の解説は、以下のとおりです。

×選択肢A、E

bit型とdate型は基本データ型に存在しません。したがって、不正解です。

◯選択肢B、D、F

int型、char型、double型が基本データ型として定義されているデータ型です。

したがって、正解です。

×選択肢C

String型は参照型に属します。したがって、不正解です。

個人的に上記で間違いやすいのは選択肢Cに関してです。
プログラミングでよく使われるString型ですが、基本データ型ではありません。
しかし、同じプログラミングでよく使われるint型は基本データ型のため、間違いやすいです。

まとめ

今後も過去問で躓いた箇所をいつでも見返して復習できるようにまとめていきます。

コメント

タイトルとURLをコピーしました