【連載3】JavaでHelloWorldを作ってみよう!コンパイルから実行まで

Javaでの開発環境が構築できたので、早速、Javaで何かプログラムを作成してみましょう。

Javaに限らず、プログラミング学習の世界では、学習の手始めとして「HelloWorld」プログラムを作成することが定番となっています。
当サイトでもその風習にのっとって「HelloWorld」プログラムを作成してみます。

まずはじめにソースコードを記述します。

ソースコードとは

プログラミング学習を進めていく上で、「ソースコード」という用語は必ず目にすることになります。

「HelloWorld」プログラムを作成していく前に、ソースコードとは何なのか、ここではっきりさせておきましょう。

ソースコードとは、プログラムを作成する際、どのプログラムをどのように動作させるのかを指示する内容を記述したテキストファイルのことです。

プログラミングというと、英数字のような羅列をたくさん打ち込んでいる光景をもしかしたら思い浮かぶかもしれませんが、まさらにそれがソースコードです。

ソースコードのことを略して「ソース」や「コード」などと呼ばれたりもします。

このソースコードの記述内容がプログラミング言語によって変わってきます。ここでは、Java言語を用いてソースコードを記述していくことになります。

HelloWorldプログラムの作成

では、JavaでHelloWorldプログラムを作成してみましょう。

何らかのテキストエディタを起動してください。
テキストエディタは「メモ帳」でも前に紹介した「サクラエディタ」でも何でも構いません。

起動したテキストエディタでまずは下記のように入力してください。

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

入力が終わったら適当なフォルダに”HelloWorld.java”というファイル名にして保存してください。

以降では「C:\Users\USER\Documents」フォルダに保存した場合の例を示していきます。

※環境によっては、コマンドプロンプト上でバックスラッシュ(\)のかわりに、円マーク(¥)が表示されます。バックスラッシュと円マークは同様の機能を持ち、どちらの表示になっても問題ありません。

コンパイル

次にコマンドプロンプトを起動してください。

まず、カレントフォルダを先ほど作成した”HelloWorld.java”ファイルが格納されているフォルダに移動します。

> cd C:\Users\USER\Documents

次に、以下のようにjavacコマンドを実行します。

C:\Users\USER\Documents> javac HelloWorld.java

コマンドに成功すると同フォルダにHelloWorld.classが作成されているはずです。

ここで行っていることが「コンパイル」と呼ばれる作業です。

もし、何らかのメッセージが表示された場合、プログラムにエラーが存在している可能性があります。もう一度プログラムを入力しなおしてください。大文字小文字も区別されますのでその点もお気をつけください。

また、ファイル名とクラス名は必ず一致させる必要があります。今回の例ではクラス名を「HelloWorld」としたのでファイル名は「HelloWorld.java」としなければなりません。もし一致していなければコンパイルエラーとなります。

コンパイルに成功すると”HelloWorld.java”ファイルが保存してある場所と同じフォルダに”HelloWorld.class”ファイルが作成されていると思います。
コンパイラによって作成されたこのファイルが「バイトコード」と呼ばれるものです。

次に今作成したバイトコードをJava仮想マシンで実行します。(Java仮想マシンとはバイトコードに変換されたプログラムを実行するプログラムのことです。)

C:\Users\USER\Documents> java HelloWorld
Hello World.

実行する際、拡張子の「.class」や「.java」を付けない点に注意してください。上記のように「Hello World.」と画面上に出力されれば成功です。

java.lang.ClassNotFoundExceptionについて

javaコマンドでプログラムを実行した際、以下のようなエラーとなりませんでしたでしょうか。

エラー: メイン・クラスMain.classを検出およびロードできませんでした
原因: java.lang.ClassNotFoundException: Main.class

これは初心者の方がよく陥るエラーです。もし、エラーとなったら以下を確認してみてください。

  • javaコマンドはクラスファイルがあるフォルダに移動してから実行しているか?
  • フォルダ名に日本語が使われていないか?
  • クラス名を書き間違えていないか?
  • javaコマンド実行時に指定するクラス名に「.class」や「.java」を末尾に付けていないか?

上記に該当していないかもう一度はじめから見直し、該当した場合は修正して再度コンパイルしてみてください。