Java言語で Hello World を書いてみましょう.
以下のプログラムを書き,HelloWorld.java
に保存してください(//
の後ろは書かなくても構いません).
ファイル名とclass
の後ろにある名前(クラス名)は必ず一致させていなければいけません.
一致していない場合は,コンパイルエラーが発生します.
public class HelloWorld { // <= クラス宣言の開始
public static void main(String[] args){ // <= mainメソッドの開始
System.out.println("Hello World");
} // <= mainメソッドの終了
} // <= クラス宣言の終了
コンパイルには,javac
コマンドを利用します.ターミナルで以下のコマンドを入力してください($
はプロンプトを表していますので,入力不要です).
$ javac HelloWorld.java # Javaプログラムをコンパイルする
上記のように javac
に HelloWorld.java
を渡して実行してください.
コンパイルが行われます.コンパイルに成功すると,HelloWorld.class
というクラスファイルが出力されます.
a.out
のようなファイルは出力されないことに注意してください.
コンパイルに失敗すると,コンパイルエラーがコンパイラにより示されます. 代表的なコンパイルエラーは次の通りです.
public
やstatic
,class
などの綴り間違いが疑われます.
public static void main(String[] args)
は間違いなく書かれていますか.public class Xxxx
のように囲んでいますか.実行するには,java
コマンドを利用します.
先ほどコンパイルして得られた HelloWorld.class
を実行するには,以下のようなコマンドを入力しましょう.
$ java HelloWorld # Javaプログラムを実行する
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){ ... }
であり,
なんらかのクラス宣言に含まれています.
大文字小文字も区別されますので,一言一句間違えずに入力してください.
なお,main
メソッドは必ずクラス宣言の括弧の内側({ /* この部分 */ }
)に書かれる必要があります.
Java言語で標準出力(ターミナルの実行画面)に文字を出力するには,System.out.println
を利用します.
改行を伴って出力されます.改行したくない場合は,System.out.print
を用いてください.
ただし,上記のメソッド(println
もしくはprint
)では,%d
のような書式付きでは出力できません.
C言語のように(printf
のように)書式付きで出力したい場合,System.out.printf
を利用してください.
ただし,改行は \n
ではなく,%n
を利用してください.
改行はプラットフォーム依存であるためです.
詳しくは FAQ なぜ\nではなく,%nを利用するのでしょうかを参照してください.
なお,%d
などのフォーマット記述子には対応する型が存在します.対応しない型を指定すると実行時エラーが発生します.
対応については,FAQ フォーマット記述子とは何ですかを参照してください.
C言語と同じく,文字列は,"mojiretu"
のように,""
(ダブルクォート)で囲んで表します.
Hello Worldのサンプルプログラムで言えば,3行目の"Hello World"
部分が文字列です.
ダブルクォートの内側は自由に変更しても,コンパイルエラーにはならず,実行結果が変わります.