- 「Javaを勉強しているけどコンパイルとは何かわからない」
- 「Javaのコンパイルの実行方法が知りたい」
こういったお悩みを解決していきます!
文系出身エンジニアとして、初心者向けに分かりやすい記事を提供しています!
コンパイルとは
結論からいうと、
- コンパイル:ソースコードから機械語を作り出すこと
- ソースコード:自分たちが書いたJavaのプログラミングコード
- 機械語:パソコンなどの機械が理解できる形式のコード
このような定義になります。詳しく見ていきましょう。
ソースコードは人間用。機械語は機械用
普段私達が書いているJavaのコードを、「ソースコード」と呼びますよね。
以下のようなコードです。

ソースコードはいわば「人間用のコード」で、機械は理解することができません。
※これを理解できたら、機械は英語を話すことができそうですね。
そこで、コンパイルという作業を通して機械が理解できる「機械語」を作成します。
コンパイル後にMain.classのようなクラスファイルを見たことがあるでしょうか。あれが機械語で書かれたファイルです。
ちなみに、コンパイル後の機械語はこんな感じです。

はい。我々は到底理解できませんが、機械にはこれが読みやすいんですよね。
この状態で、私達はJavaのプログラムを実行することができます。
ちなみにですが、コンパイルしてくれる装置をコンパイラといいます。
Javaでコンパイルをする方法
では、Javaファイルをコンパイルする方法をご紹介します。
Javaファイルをコンパイルするには、ターミナル(windowsならコマンドプロンプトなど)を開いて以下のようなコマンドを実行します。
$ javac Main.java
// ↑javac クラス名.javaと打つ
ソースコードにエラーがなければ、コンパイルが完了してMain.classファイルが生成されます。(エラーがあれば失敗します。)
ちなみにですが、以下のような結果が出力された方はJavaの環境構築が完了していないので、まずはJavaの環境構築を行いましょう。
javac: コマンドが見つかりません
コンパイルしたJavaファイルを実行してみよう
コンパイルしてできた.classファイルを実行することで、プログラムを実行することができます。
実行には以下のコマンドを打ち込みます。
$ java Main
先ほどとの違いは、
- javacではなくてjavaであること
- ファイルに.javaをつけないこと
です。
ソースコードに問題がなければ、プログラムが実行されます。
冒頭のソースコードの場合は以下が出力されます。
※色が変ですが気にしないでください。
Hello World
まとめ
Javaのコンパイルと機械語についてご紹介しました。
- コンパイル:ソースコードから機械語を作り出すこと
- ソースコード:自分たちが書いたJavaのプログラミングコード
- 機械語:パソコンなどの機械が理解できる形式のコード
となっています。
コンパイルしなければJavaは実行できないことを覚えておきましょう。
また、コンパイルやそのほかJavaの基礎をしっかり勉強したいという方は、Javaの人気本『スッキリわかるJava』シリーズで学習すると1から順番に学ぶことができるので、よかったら読んでみてくださいね。
最後までお読みいただきありがとうございました!
▼あわせて読みたい記事