カテゴリ: JavaSilver試験対策 更新日: 2025/12/17

Javaのプログラム実行方法を完全解説!初心者でもわかるjavacとjavaコマンドの使い方

009
Javaのプログラム実行方法

先生と生徒の会話形式で理解しよう

生徒

「Javaプログラムをコマンドで実行する方法がいまいち分かりません。javacjavaって何が違うんですか?」

先生

「いい質問ですね!javacはJavaソースコードをコンパイルするコマンド、javaはコンパイル済みのクラスを実行するコマンドです。それぞれの役割と使い方を詳しく見ていきましょう。」

生徒

「なるほど!プログラムの実行フローが分かりそうです!」

1. Javaプログラムの基本的な実行手順

1. Javaプログラムの基本的な実行手順
1. Javaプログラムの基本的な実行手順

Javaプログラムを実行する際の基本的な手順は以下の通りです。

  1. ソースコードを作成し、.javaファイルに保存する。
  2. javacコマンドを使ってソースコードをコンパイルし、.classファイルを生成する。
  3. javaコマンドを使って、生成された.classファイルを実行する。

以下は具体例です。


public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java!");
    }
}

上記のプログラムをHelloWorld.javaとして保存し、次のコマンドを実行します。


> javac HelloWorld.java
> java HelloWorld

出力:


Hello, Java!

この手順がJavaプログラムの基本的な実行方法です。

2. Java SE 11以降での直接実行

2. Java SE 11以降での直接実行
2. Java SE 11以降での直接実行

Java SE 11以降では、javacコマンドを使わずにjavaコマンドだけでソースコードを実行することが可能です。この機能は「ソースファイルモード」と呼ばれます。

次のように実行します。


> java HelloWorld.java

出力:


Hello, Java!

この方法では、javacで明示的にコンパイルしなくても、javaコマンドがバックグラウンドでコンパイルを行い、プログラムを実行します。

3. コマンドの注意点と他のコマンド

3. コマンドの注意点と他のコマンド
3. コマンドの注意点と他のコマンド

Javaプログラムを実行する際の注意点と、他の関連コマンドを紹介します。

  • javap: クラスファイルの内部構造を確認できます。
  • jmod: モジュールを管理するためのコマンドです。
  • ソースファイルモードでは、ファイル名とクラス名が一致していなくても実行可能です。

以下は、クラス名とソースファイル名が一致していない場合の例です。


public class Sample {
    public static void main(String[] args) {
        System.out.println("クラス名とファイル名が一致していません!");
    }
}

これをTest.javaとして保存し、次のように実行します。


> java Test.java

出力:


クラス名とファイル名が一致していません!

4. javacとjavaの違いを理解する

4. javacとjavaの違いを理解する
4. javacとjavaの違いを理解する

javacはソースコードをコンパイルしてバイトコードを生成するコマンドであり、javaはそのバイトコードを実行するコマンドです。この違いを理解することで、エラーの原因を特定しやすくなります。

ソースコードの構造や実行環境に応じて適切なコマンドを選び、効率的な開発を行いましょう。

5. まとめ

5. まとめ
5. まとめ

Javaのjavacコマンドとjavaコマンドの違いや使い方について理解を深めました。javacはソースコードをコンパイルして.classファイルを生成し、javaはそのクラスファイルを実行します。 また、Java SE 11以降でのソースファイルモードにより、javacコマンドを使用せずに直接ソースコードを実行できる便利な機能も学びました。

以下は、これまで学んだ内容を簡単におさらいするプログラム例です。


public class CommandLineExample {
    public static void main(String[] args) {
        if (args.length == 0) {
            System.out.println("引数がありません。プログラムを実行しました!");
        } else {
            System.out.println("受け取った引数:");
            for (String arg : args) {
                System.out.println(arg);
            }
        }
    }
}

上記のプログラムをCommandLineExample.javaとして保存し、次のように実行します。


> java CommandLineExample apple orange banana

出力:


受け取った引数:
apple
orange
banana

このように、Javaの実行環境とコマンドを正しく理解し、プログラムを効果的に実行するスキルを身につけましょう。

先生と生徒の振り返り会話

生徒

javacjavaの違いがよく分かりました!特にソースファイルモードは便利ですね。」

先生

「その通りです。簡単なコードを試したいときや学習時にはとても役立ちますね。ただし、正式なプロジェクトではjavacを使ったコンパイルが一般的です。」

生徒

「実行時に.javaファイルを直接使えることを知って、作業が効率的になりそうです!」

先生

「その意識を持ちながら、引数の扱いやエラー処理にも気を配ると良いプログラマーになれますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのjavacコマンドとは何ですか?どういう意味ですか?

javacコマンドとは、Javaのソースコード(.javaファイル)をバイトコード(.classファイル)にコンパイルするためのコマンドです。Javaプログラムを実行する前に、javacで一度コンパイルする必要があります。

javaコマンドとjavacコマンドの違いは何ですか?初心者でも分かるように知りたいです。

javacコマンドはJavaのソースコードをコンパイルして.classファイルを作成し、javaコマンドはその.classファイルを実行するためのコマンドです。役割が違うので使い分けが必要です。
JavaSilver試験対策の一覧へ
新着記事
IAM Identity Centerの許可セットとポリシーの関係を解説
IAM Identity Centerの許可セットとポリシーの関係を初心者向けにわかりやすく解説!
Java の正規表現で「数字」や「英字」だけをチェックする方法
Javaの正規表現で「数字」や「英字」だけをチェックする方法を初心者向けに完全解説
Java で正規表現を使う方法(Pattern クラスと Matcher クラス)
Javaで正規表現を使う方法を完全解説!PatternクラスとMatcherクラスを初心者向けにやさしく説明
FlutterでQRコードの生成・読み取りをする方法
FlutterでQRコードの生成・読み取りを実装する方法!初心者でもできるQRアプリ開発
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説