Java基礎 第1回『 コンパイル と 実行方法 』

この記事では Java プログラミングの入門的な内容を解説したもので、Javaプログラミング言語とその特性、Java仮想マシン(JVM)とバイトコードの役割、統合開発環境(IDE)のEclipseの使い方、Javaプログラムの基本的な作成・ コンパイル ・実行方法について詳しく説明しています。また、Eclipseを使わずにローカルでJavaプログラムを作成・コンパイル・実行する手順についても解説しています。これはJavaの初学者やJavaの基本的な流れを再確認したい人にとって役に立つ内容になっています。

目次

Javaとは?

Javaは、シンプルでオブジェクト指向のプログラミング言語です。スマートフォンからエンタープライズのビジネスシステムまで、幅広い環境で動作します。これは、「Write Once, Run Anywhere「一度書けばどこでも動く」というJavaの特性のおかげです。

Javaはまた、強力なメモリ管理やガベージコレクション、例外処理の機能も持っており、これらはプログラムの安定性と安全性を向上させます。

こういった機能については回が進んでいく毎に少しずつ理解できるようになっています。

Java仮想マシン(JVM)とは?

Java仮想マシン(JVM)は、Javaプログラムを実行するための”仮想的なコンピュータ”です。Javaのソースコードは、まずコンパイルという過程を経て特殊な形式(バイトコード)に変換され、このバイトコードがJVM上で実行されます。

ここで、ソースコードとバイトコードの違いについて少し詳しく説明しましょう。

ソースコードとは

ソースコードとは、我々が普段書く、人間に読みやすい形で書かれたプログラムのことを指します。Javaであれば、「System.out.println(“Hello, World!”);」といったコードがそれにあたります。

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

バイトコードとは

一方、バイトコードは、ソースコードをコンパイラ(ソースコードをコンピュータが理解できる形式に変換するプログラム)によって変換された、コンピュータが直接理解できる形式のコードです。人間には直接読むことは難しいですが、JVMがこれを読み取り、それに基づいて操作を行うことでプログラムが動作します。

10101100 00001010 00110011 01110101 10101100 00001100 10101101 00001011 
01101001 01101111 10101100 00100000 10101101 00101101 01101110 01101111 
10101110 00010000 01101101 01101111 10101110 00100001 10101101 00101110 
01110000 01110001 10101110 00010011 01110001 01110010 10101110 00100100 

上記のバイトコードは一例であり、実行環境によって異なります。
しかしこのような形で、機械にとっては読み取れますが人間にとって解釈が困難である形なのがバイトコードというものです。

Write Once, Run Anywhere”(WORA)「一度書けばどこでも動く」

さて、なぜJavaは「一度書けばどこでも動く」という特性を持っているのでしょうか?それはJVMがOSの違いを吸収してくれるからです。例えば、WindowsとmacOSでは内部のシステムが大きく異なります。
しかし、それぞれのOS上に適したJVMが存在し、Javaのバイトコードを正しく解釈・実行します。つまり、JavaプログラムはJVMがインストールされているどの種類の物理的なコンピュータ上でも実行することができます。

これにより、プログラマーはOSの違いを意識することなく、自分のプログラムがどのプラットフォーム上でも動作することがわかります。また、JVMはガベージコレクションを行うなど、メモリ管理の役割も果たします。これにより、プログラマーは複雑なメモリ管理を意識することなく、プログラムの作成に集中することができます。

ガベージコレクションに関しては後々解説いたしますので、今は「色々と意識しなくても動かせるんだなぁ」と思っておいてください。

Eclipseとは?

Eclipseは、Javaなど様々なプログラミング言語に対応した統合開発環境(IDE)です。IDEとはIntegrated Development Environmentの略で、開発作業を一元的に行うためのソフトウェアのことを指します。Eclipseはその一例であり、ソースコードの記述、コンパイル、デバッグといった一連の作業を効率的に行うためのツール群が提供されています。

それでは、Eclipseを使うことのメリットと、IDEを使用しないで開発することとの違いを見てみましょう。

IDEを使用しない場合

まず、IDEを使用しない開発環境では、ソースコードの記述、コンパイル、テスト、デバッグといった作業を別々のツールで行います。また、これらのツールを各々適切に設定し、操作する必要があります。これは、初めてプログラミングを学ぶ人や新たなプロジェクトを始める人にとっては、時間と労力の大きな負担となり得ます。

IDEを使用する場合

それに対してEclipseのようなIDEを使用すると、これら全ての作業を一つのインターフェース内で行うことができます。コードの記述からテスト、デバッグまで全てを統一された環境下で行うことができるため、作業の流れがスムーズになります。

また、Eclipseにはコード補完やリファクタリング、ユニットテストのためのフレームワークなど、開発者の生産性を向上させる機能が数多く含まれています。
コード補完機能によって、プログラムの記述が簡単になり、リファクタリング機能によって、コードの質を維持しつつ変更や改善を行うことができるようになります。また、統合されたテストフレームワークによって、コードの挙動を確認し、問題を早期に発見することができます。

以上のような理由から、Eclipseは初学者だけでなく、経験豊富な開発者にとっても、プログラム開発の作業を大きく助け、効率化するツールと言えます。

Javaプログラムの作成

プログラムの作成

それでは、具体的にJavaプログラムを作成してみましょう。Eclipseを起動したら、「ファイル」メニューから「新規」→「Javaプロジェクト」を選択し、新規Javaプロジェクトを作成します。プロジェクト名を入力し、デフォルトの設定で進んでください。

次に、「src」フォルダを右クリックし、「新規」→「クラス」を選択して新規クラスを作成します。クラス名には「HelloWorld」を入力し、「public static void main」のチェックボックスをオンにしてから「完了」をクリックします。これにより、Javaのエントリーポイントとなる main メソッドを持つクラスが生成されます。

これで、以下のようなJavaプログラムのひな形が作成されます。

public class HelloWorld {
    public static void main(String[] args) {

    }
}

ここに、「System.out.println(“Hello, World!”);」と記述して保存(「ファイル」→「保存」)します。

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

EclipseでのJavaプログラムの実行

EclipseでJavaプログラムを実行するには、「実行」メニューから「実行」→「Javaアプリケーション」と選択します。または、ツールバー上の緑色の「再生」ボタン(右向きの三角形)をクリックします。すると、「Hello, World!」というメッセージがコンソールウィンドウに表示されます。

Eclipseを使わないでプログラムを作成する方法

それでは、Eclipseを使用せず、手動でJavaプログラムを作成し、コンパイルしてみましょう。以下に手順を示します。

テキストエディタ(例:メモ帳)を開きます。
以下のJavaプログラムを入力します

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

保存する際に、ファイル名を「HelloWorld.java」とし、拡張子が「.java」であることを確認します。

コマンドプロンプトを開き、Javaソースファイルが保存されているディレクトリに移動します。

cd %USERPROFILE%\Desktop

次に、Javaコンパイラ(javac)を使用してソースファイルをコンパイルします。これにより、Javaバイトコード(.classファイル)が生成されます

javac HelloWorld.java

これで、コンパイルされたバイトコードをJava Virtual Machine(JVM)で実行できます:

java HelloWorld

下記が実行した場合のコマンドプロンプトの画面の一例です

C:\Users\YourName\Desktop>javac HelloWorld.java

C:\Users\YourName\Desktop>java HelloWorld
Hello, World!

C:\Users\YourName\Desktop>

まとめ

これで、Javaプログラムの作成から実行までの基本的な流れを理解できましたでしょうか。
次回からは、これを基にJavaの基本的な構文や機能を学んでいきます。それぞれのステップで迷ったり、わからないことがあればこの記事を参照してください。

次回以降は具体的なJavaのプログラムの書き方に進んでいきます

(Visited 138 times, 1 visits today)
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社NEUGATEは、都内で企業研修や職業訓練を運営している会社です。主に、IT系の教育事業に力を入れています。
この記事は、株式会社NEUGATEの教育事業部が執筆をしています。

企業ホームページ:https://neugate.co.jp/

コメント

コメントする

目次