Java 入門

Java 最初のプログラム

Javaの学習を正式にスタートさせるため、最初のプログラムを書いてみましょう!Javaコードの基礎的な構文(シンタックス)と構造に慣れることは、将来より複雑なアプリケーションを構築するための強固な土台となります。「Hello, World!」プログラムを書くことは、プログラミング界における伝統的な習慣です。これは単にシンプルなだけでなく、開発環境が正しく設定されているかを確認し、Javaコードの記述・コンパイル・実行という基本フローを理解できているかを検証するための最良の方法です。

1. 最初の Java プログラムを作成する

「Hello, World!」は非常にシンプルなプログラムで、その唯一の役割はコンソール(画面)に「Hello, World!」というテキストを出力することです。作成の具体的なステップは以下の通りです。

1.1 新規ファイルの作成

テキストエディタまたは IDE(統合開発環境)を開き、HelloWorld.java という名前の新しいファイルを作成します。

注意: ファイル名はクラス名と完全に一致させる必要があり(大文字・小文字も区別)、拡張子は必ず .java にしてください。

1.2 コードの記述

以下のコードを正確に HelloWorld.java ファイルに入力してください。

public class HelloWorld { // HelloWorld という名前のクラスを定義
    public static void main(String[] args) { // main メソッド。プログラム全体の入口(エントリポイント)
        System.out.println("Hello, World!"); // コンソールに "Hello, World!" を出力
    }
}

1.3 ファイルの保存

ファイルを任意のディレクトリ(フォルダ)に保存します。後でこのディレクトリからプログラムをコンパイルして実行する必要があるため、場所を覚えておいてください。

2. コードを一行ずつ解析する

初めてこのコードを見ると戸惑うかもしれませんが、一行ずつ分解してみましょう。

  • public class HelloWorld {: この行は HelloWorld という名前のクラス (class) を宣言しています。Java では、すべてのコードはクラスの中に存在しなければなりません。public キーワードは、このクラスがプログラム内のどこからでもアクセス可能であることを意味します。クラスは Java プログラムの基礎となる構成要素(ビルディングブロック)です。
  • public static void main(String[] args) {: この行は main メソッドを定義しています。これはプログラムのエントリポイントであり、プログラムを実行した際に最初に実行されるコードです。
    • public: クラス宣言と同様に、main メソッドがクラス外部(JVM など)から呼び出せるようにします。
    • static: このキーワードは、main メソッドが HelloWorld クラスの特定のインスタンス(オブジェクト)ではなく、クラス自体に属していることを示します。
    • void: main メソッドが値を返さない(戻り値がない)ことを意味します。
    • main(String[] args): main はメソッド名で、括弧内はパラメータ(引数)です。String[] args は文字列の配列(アレイ)を表し、コマンドラインからプログラムに渡される引数を受け取るために使用されます。
  • System.out.println("Hello, World!");: この行がプログラムの核心です。「Hello, World!」をコンソールに出力する役割を担います。
    • System.out: Java における標準出力ストリームを表し、通常はコンソールや画面を指します。
    • println(): これは System.out オブジェクトが持つメソッドで、コンソールに一行のテキストを出力し、自動的に改行します。出力したいテキストはダブルクォーテーション "" で囲む必要があります。

3. プログラムのコンパイルと実行

コードを書き終えたら、コンパイルして実行する必要があります。

3.1 端末(ターミナル)またはコマンドプロンプトを開く

OS のコマンドラインツールを開き、cd コマンドを使用して先ほど HelloWorld.java を保存したディレクトリに移動します。

3.2 コードのコンパイル

javac コマンドを使用してソースコードをコンパイルします。

javac HelloWorld.java

コードに構文エラーがなければ、コンパイルは正常に完了し、同じディレクトリ内に新しいファイル HelloWorld.class が生成されます。この .class ファイルには、Java 仮想マシン (JVM) が理解して実行できるバイトコード (bytecode) が含まれています。

3.3 コードの実行

java コマンドを使用して、コンパイルされたバイトコードファイルを実行します。

java HelloWorld

注意: 実行時はクラス名の HelloWorld だけを記述し、.class 拡張子は付けないでください!

実行後、コンソールに以下の出力が表示されるはずです。

Hello, World!

4. よくあるエラーとトラブルシューティング

「Hello, World!」のようなシンプルなプログラムでも、エラーに遭遇することがあります。初心者が直面しやすい代表的なエラーと解決策を紹介します。

  • java.lang.NoClassDefFoundError: 通常、JVM が .class ファイルを見つけられないことを意味します。
    • 解決策: 正しいディレクトリでコマンドを実行しているか、HelloWorld.class ファイルが実際に存在するか確認してください。また、実行コマンドに拡張子を付けていないか(java HelloWorld.class ではなく java HelloWorld になっているか)再確認してください。
  • javac: command not found(または「内部コマンドまたは外部コマンドとして認識されていません」): システムが javac コマンドを認識できていません。
    • 解決策: JDK が正しくインストールされていないか、JDK の bin ディレクトリがシステムの PATH 環境変数に追加されていない可能性があります。前の章に戻り、JDK のインストールと環境変数設定を詳しくチェックしてください。
  • コンパイルエラー (Compilation errors): javac の実行中に発生するエラーで、通常はコードの構文に間違いがあります。
    • 解決策: コンソールのエラーメッセージを注意深く読んでください。エラーが発生した行番号とエラーの種類が示されています。例えば、末尾のセミコロン ; の付け忘れや、クラス名の大文字・小文字のスペルミスなどが原因でコンパイルに失敗します。