【独学Java入門③】コンパイル

実際にソースファイルを作成して実行までの流れを見てみましょう。

エディタで以下のソースコードを入力してください。コピーペーストでも構いません。

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

//コメントはコピーペーストしないでください
//右が切れる時は左にスワイプしてください

簡単にご説明させて頂きます。以下のようにクラスメソッドを定義しています。このサイトのPython入門をすでに見てもらった方はクラスとメソッドがどのようなものが理解されているかと思いますので以下のコードも何となく意味が分かるかと思いますが、とりあえずこういうふうに書くだけご紹介させて頂きます。

//クラスの定義
class ファイル名 { //※1  

    //メソッドの定義
    public static void main(String args[]) {  //※2
        処理A;    //最後にセミコロン ;  
        処理B;    //最後にセミコロン ;
    }  //※2
} //※1

//右が切れる時は左にスワイプしてください

ここで覚えておいてもらいたいのは2点あります。処理の最後に「; (セミコロン)」をつけることです。Pythonは不要ですがこれをつけ忘れるとエラーになりますので注意してください。

もう1点は※をつけていますが、処理の範囲(ブロック)の範囲を明確にするために「{ }」で囲む必要があります。こちらも1行ごとのセミコロンと同様に付け忘れるとエラーになります。Pythonでは処理の影響の範囲を{}で区切らずインデントで示すという違いがありました。

最後にこちらの記述は「Hello World」という表示を行うように命令します。とりあえず、こう書けばいいのかとだけ思ってもらえればと思います。

System.out.println("Hello World");

それではC:¥の直下に「Java_test」というフォルダを作成し、その中に「test01.java」と名前を付けて1番最初にご紹介したソースコードを保存してください。

JavaはPythonと異なりコンパイルという作業が必要になります。

コンパイルとは機械が理解できるようにソースコードを変換することです。日本語が分からないアメリカ人に日本語で話しかけても相手は理解できませんので、通訳の方にお願いするか辞書で英訳して英文で伝える必要があります。この例のように人が「Hello World」と表示してくれとコンピュータに伝えてもコンピュータは理解できませんので人が書いたソースコードを機械語に変換する必要があります。

このサイトでも解説しているPythonではこのコンパイルを行う必要はありませんでした。これはPythonとJavaの実行方式が異なるためPythonはコンパイルが不要なのです。このコンパイルを省略できることがPythonは手軽で初心者向きであると言われる理由の1つです。

Javaはソースコードを実行する前にコードの全てをコンピュータが理解できる機械語に翻訳する必要があります。このようなプログラミング言語の方式をコンパイル方式と呼び、コンパイルするためのソフトウェアをコンパイラと呼びます。

それに対してPythonはソースコードを毎回1行ずつ翻訳しながら実行するため最初にコンパイルを行う必要がありません。これのような方式をインタプリタ方式と呼びます。

コンパイル方式は最初に全部機械語に変換するという手間がかかる反面、実行速度が極めて速いという特徴があります。インタプリタ方式はその逆になりますが、ユーザーが実行前にコンパイルする必要がないため手軽ですが実行速度がコンパイル方式と比較すると遅いという特徴があります。一般論としては試作ではインタプリタ方式が向いていて、製品などではコンパイル方式が向いていると言われることが多いのですが、インタプリタ方式を支持する人は現在のハードウェア(コンピュータ)の処理がものすごく速いのでインタプリタで十分という主張もあります。

一般の道路を時速60km/hで走ることができれば軽自動車で十分、300km/h出せるフェラーリは不要という考え方です。しかも、ビッグデータのようにデータが膨大な場合は全部をコンパイルするのはものすごい時間がかかるため必要な部分だけを翻訳するインタプリタ方式がビッグデータ解析には向いているという意見もあります。ただ、僕が専門とするエレクトロニクス業界のマイコンなどはC言語で書いてコンパイルする方式がまだまだ多いです。研究ではなくアプリなど一般のユーザーが軽快に動いた方が良い製品を開発する業界ではやはりJavaなどのコンパイラ方式が今後も強いと考えられます。

それでは実際にコンパイルをしてみましょう。デスクトップの左下に「cmd」と入力してコマンドプロンプトを起動してください。

黒い無機質な画面が立ち上がり、慣れない方はかなりのアレルギー反応が出るかと思いますが大丈夫です。難しいことはありません。2~3分くらい画面を見続けているとアレルギーも落ち着いてくるかと思いますから落ち着いたら、まずは「cd c:¥Java_test」と入力してENTERキーを押してください。これで作業しているフォルダが最初に作成した「Java_test」に移動しました。

次に「javac test01.java」と入力してENTERキーを押してください。改行されるとコンパイル成功です。

Java_testのフォルダ内に「test01.class」というクラスファイルが作成されていることを確認します。

【もしもエラーが発生したら】
・ソースコードをコピーペーストしてください(記載していますが最後の2行は貼り付けないでください)
・Cドライブ(C:¥)に「Java_test」というフォルダを作成し、その中に「test01.java」というファイル名でソースファイルを保存していますか?
・コマンドの入力に間違いはありませんか?
・大文字、小文字は正しく入力していますか?
・全て半角英数で入力されていますか?

次回の「実行で」実際にクラスファイルを実行してみましょう。

独学Java入門一覧に戻る