基礎の基礎

Hello World

Java言語で Hello World を書いてみましょう. 以下のプログラムを書き,HelloWorld.java に保存してください. ファイル名とclassの後ろにある名前(クラス名)は必ず一致させていなければいけません. 一致していない場合は,コンパイルエラーが発生します.

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

コンパイル方法

コンパイルには,javac コマンドを利用します.

$ javac HelloWorld.java

上記のように javacHelloWorld.java を渡して実行してください. コンパイルが行われます.コンパイルに成功すると,HelloWorld.class というクラスファイルが出力されます. a.out のようなファイルは出力されないことに注意してください.

コンパイルのイメージ

コンパイルに失敗すると,コンパイルエラーがコンパイラにより示されます. 代表的なコンパイルエラーは次の通りです.

  • シンボルが見つかりません.
    • 宣言されていない変数を使おうとしたときに指摘されます.
      • 変数は参照できる場所に宣言されていますか.
      • 綴りは間違っていないか確認しましょう.
  • クラスXxxxはpublicであり,ファイルXxxx.javaで宣言しなければなりません
    • Javaではクラス名とファイル名は必ず一致させておかなければいけません.
      • クラス名とファイル名が一致しているか確認しましょう.
  • <identifier>がありません.
    • publicstaticclassなどの綴り間違いが疑われます.
      • public static void main(String[] args)は間違いなく書かれていますか.
      • 一番外側に,public class Xxxxのように囲んでいますか.
      • カッコの対応は合っていますか.
  • \12288は不正な文字です.
    • 全角スペースが入っていないか確認してください.全角スペースはC言語と同じく文字列以外での利用が許されていません.

実行方法

実行するには,java コマンドを利用します. 先ほどコンパイルして得られた HelloWorld.class を実行するには,以下のようなコマンドを入力しましょう.

$ java HelloWorld
Hello World

実行するときには,拡張子(.class)はつけないことに注意してください.

プログラムの解説

一番外側

Javaプログラムは必ず一番外側が public class Xxxx で囲まれている必要があります.この一番外側の囲みをクラス宣言と呼びます. 変数も関数も必ずこのクラス宣言に囲まれた部分でしか定義できません.

また,Xxxx の部分をクラス名と呼び,ファイル名とクラス名は一致させる必要があります. 上の例の場合では,public class HelloWorld{ ... } ですから,HelloWorld.java に保存しなければいけません. それ以外のファイル名に保存すると,コンパイルできません.

mainメソッド

C言語における関数は,Javaでは,メソッド(method)と呼びます. main メソッドは,Javaプログラムを実行した時に一番最初に呼び出されるメソッドです.

main メソッドは,必ず public static void main(String[] args){ ... } であり, なんらかのクラス宣言に含まれています.

画面に出力する方法(printf)

Java言語で標準出力に文字を出力するには,System.out.printlnを利用します. 改行を伴って出力されます.改行したくない場合は,System.out.print を用いてください.

ただし,上記のメソッド(printlnもしくはprint)では,%dのような書式付きでは出力できません. C言語のように,printfを利用したい場合は,System.out.printf を利用してください. ただし,改行は \n ではなく,%n を利用してください.

なお,%dなどのフォーマット記述子には対応する型が存在します.対応しない型を指定すると実行時エラーが発生します. 対応については,FAQ フォーマット記述子とは何ですかを参照してください.

文字列

C言語と同じく,文字列は,"mojiretu"のように,""(ダブルクォート)で囲んで表します.