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

プログラミング

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

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

◆問題
次のコードに関して、2行目にどのコードを挿入すれば、正常に実行できるかでしょうか?2つ答えよ。

public class Welcome {
  // insert code here
  	System.out.println("Welcome to Java");
	}
}

A. public void main(String[] args) {

B. public static void main(String args) {

C. public static void main(String] args) {

D. static public void main(String] args) I

E. static void main(String args) {


◆解答
C.D

◆解説
Javaアプリケーションを実行するためには、mainメソッドが必要です。このメソッドはJVMによって呼び出され、アプリケーションの処理を開始します。JVMはjavaコマンドで実行する際に、指定されたクラスをロードし、そのクラス内に定義されたmainメソッドを探して実行します。つまり、mainメソッドはJavaアプリケーションのエントリーポイントであり、処理の開始地点となります。
Javaアプリケーションには必ず1つのmainメソッドが定義されている必要があり、以下のように宣言する必要があります。

public static void main(String[I args) {
    //処理
}

選択肢Cは、main()メソッドとして必要な条件を満たしているため、正解です。

選択肢Dは、選択肢Cと比較すると、static修飾子とpublic修飾子の順序が入れ替わっていますが、修飾子の順序はどちらでも指定可能です。したがって、正解です。

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

◆問題
次のコードを確認してください。

class Test {
  public static void Main(String args []) {
    System.out.println (10);
  }
}

このコードをコンパイルおよび実行すると、どのような結果になりますか。1つ選択してください。

A. 10

B. 1行目でコンパイルエラーが発生する

C. 2行目でコンパイルエラーが発生する

D. コンパイルは成功するが、実行はできない

◆解答
D

◆解説
Javaプログラムにおいて、main()メソッドは重要な役割を持っていますが、メソッド名の指定には厳密なルールがあります。例えば、Testクラス内に「Main」メソッドを定義している場合、メソッド名が正しい「main」ではなく、先頭文字が大文字の「Main」となっています。この場合、Javaは大文字と小文字を区別するため、コンパイルは成功しますが、実行時にはJVMが呼び出すmain()メソッドの定義が見つからず、プログラムを実行できません。したがって、このプログラムを正常に実行するためには、main()メソッドの定義を正しい形式で記述する必要があります。

したがって、選択肢Dが正解です。

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

◆問題
Javaプログラムの実行環境を表す用語として適切なものはどれですか。1つ選択してください。

A. JRE

B. JDK

C. JVM

D. JRK

◆解答
A

◆解説
Javaプログラムの実行に必要な環境はJREと呼ばれ、OSに依存しない実行環境を提供します。JREには、Javaプログラムを実行するために必要なソフトウェアが含まれており、Javaプログラムを実行する際には、JREをインストールしておく必要があります。JREは、各OSの違いを吸収することができるため、「Write Once, Run Anywhere」というJavaの特徴を実現しています。これは、Javaプログラムを開発した場合、OSの違いによってプログラムの修正や再コンパイルが必要なく、同じプログラムを様々なOSで実行できるということを意味します。

以下に、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のバージョンによって異なる

上記から、Javaプログラムの実行環境を表す用語は選択肢AのJREになります。

まとめ

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

コメント

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