この記事の要点
• Javaはコンパイル言語。`.java` → `.class` → 実行の2段階
• javacでコンパイル、javaで実行
• IDE(IntelliJ IDEA)を使えばボタン1つで完結
このシリーズについて
「Java入門」シリーズ第2回。前回でJDK 21とIDEを入れたので、今回は実際にコードを書いて動かします。
前提条件: Java入門 #1 - 開発環境構築 が完了し、
java --versionで 21.x が表示される。
Hello World プログラムとは
プログラミングの伝統として、新しい言語を学ぶ最初の一歩は「Hello World」という文字列を画面に出力するプログラムを書くことです。Javaでもこの習慣に従います。
| 目的 | 確認できること |
|---|---|
| プログラムが動く | 環境が正しく構築されている |
| 文法の最小例 | 必須の記述(クラス、main メソッド)を知る |
| 実行フローの理解 | コンパイル → 実行の流れを体験する |
ファイルを作る
任意のフォルダに HelloWorld.java という名前でファイルを作ります。ファイル名とクラス名は一致させる必要があります。
// HelloWorld.java
// Java 21 で動作確認済み
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
ポイント: ファイル名 `HelloWorld.java` とクラス名 `HelloWorld` が一致していないと、コンパイルエラーになります。大文字・小文字も厳密に区別されます。
コンパイルと実行(コマンドライン)
まずはIDEなしで、ターミナルから実行してみましょう。Javaの仕組みを理解するために重要なステップです。
ステップ1: コンパイル(.java → .class)
javac HelloWorld.java
エラーが出なければ、同じフォルダに HelloWorld.class というファイルが生成されます。これがバイトコードです。
ステップ2: 実行(.class を JVM で動かす)
java HelloWorld
以下のように表示されれば成功です。
Hello, World!
注意: `java HelloWorld.class` ではなく `java HelloWorld` です。拡張子をつけるとエラーになります。
javac と java の違い
| コマンド | 役割 | 入力 | 出力 |
|---|---|---|---|
javac | コンパイラ | .java(ソースコード) | .class(バイトコード) |
java | 実行環境(JVM) | .class(バイトコード) | プログラムが動く |
Javaはコンパイル言語なので、書いたコードをそのまま実行することはできません。必ず javac でバイトコードに変換してから、java で実行します。
IDE で実行する(IntelliJ IDEA)
実際の開発では、コマンドラインではなくIDEを使います。IntelliJ IDEA での実行手順を紹介します。
プロジェクト作成
- IntelliJ IDEA を起動
- 「New Project」を選択
- Name:
hello-world、Language:Java、Build system:IntelliJ、JDK:21を選択 - 「Create」
ファイル作成と実行
- プロジェクトツリーで
srcフォルダを右クリック → New → Java Class - Name に
HelloWorldと入力してEnter - 上記のコードをコピー&ペースト
- 緑の三角ボタン(▶)をクリック、または
HelloWorldファイル内で右クリック → Run ‘HelloWorld.main()’
下部の「Run」パネルに Hello, World! が表示されれば成功です。
TIPS: IDEを使うと、コンパイルと実行が1クリックで完了します。`javac` を意識する必要はありませんが、内部では同じ処理が走っています。
main メソッドの構成要素(軽く理解する)
public static void main(String[] args) は、Javaプログラムの入口です。この行がないとプログラムは動きません。
| 部分 | 意味(今は軽く知る程度でOK) |
|---|---|
public | どこからでも呼び出せる |
static | クラスのインスタンスを作らなくても実行できる |
void | 戻り値がない |
main | プログラムの開始地点として JVM が探す名前 |
String[] args | コマンドライン引数を受け取る配列 |
今は「この形で書く」と覚えてください。詳細はシリーズ後半の「クラスとメソッド」で解説します。
ポイント: `main` メソッドの書き方は決まっています。1文字でも違うと「メソッドが見つからない」エラーになります。最初は丸暗記でOKです。
public class とは
public class HelloWorld {
// この中にコードを書く
}
Javaはすべてのコードをクラスという単位で書きます。HelloWorld はクラスの名前です。
- ファイル名とクラス名は一致させる(
HelloWorld.java→public class HelloWorld) - 1つのファイルに
public classは1つだけ - クラスの詳細は次回以降で学ぶので、今は「Javaの決まり事」として受け入れてください
System.out.println とは
System.out.println("Hello, World!");
この1行が「画面に文字を出力する」命令です。
| 部分 | 意味 |
|---|---|
System.out | 標準出力(画面)を表すオブジェクト |
println | print line の略。文字列を出力して改行する |
"Hello, World!" | 出力する文字列。ダブルクォートで囲む |
文字列を出力するだけなら、この構文を丸暗記してコピー&ペーストすれば十分です。
よくあるエラーと対処法
| エラーメッセージ | 原因 | 対処法 |
|---|---|---|
error: class HelloWorld is public, should be declared in a file named HelloWorld.java | ファイル名とクラス名が一致していない | ファイル名を HelloWorld.java に変更 |
error: cannot find symbol | セミコロン忘れ、スペルミス | エラー行を確認して修正 |
Error: Could not find or load main class HelloWorld | .class ファイルが見つからない | javac でコンパイルしたか確認 |
error: Main method not found in class HelloWorld | main メソッドの定義が間違っている | public static void main(String[] args) を正確にコピー |
注意: Javaは大文字・小文字を厳密に区別します。`Public` や `MAIN` と書くとエラーになります。
チェックリスト
次に進む前に、以下を確認してください。
-
HelloWorld.javaを作成し、コンパイル・実行できた - IDE(IntelliJ IDEA)でも実行できた
-
javacとjavaの違いを理解した -
mainメソッドの形を覚えた(詳細理解は後回しでOK)
次のステップ
Java入門 #3 - 変数とデータ型 で、データを扱う基本を学びます。
参考リソース
- Oracle Java Tutorials - Hello World — 公式チュートリアル
- javac コマンドリファレンス — コンパイラの詳細
- java コマンドリファレンス — 実行環境の詳細
- IntelliJ IDEA - 最初のプログラム