class Test { public static void main(String[] argv){ System.out.println("Hello World"); System.out.println("Hello Again"); } }ファイルのトップレベルのclassの後に定義しようとするクラス名を書き,ク ラスの中身の定義は最初の行の'{'と対応する最後の '}'の間に記述する.
「クラス」,「データフィールド」,「メソッド」,「引数」など未知の単 語がたくさん出てくるので,このあたりで頭がショートしてしまう人もいるか もしれない.ある単語を説明するために別の未知単語を用いるので,説明になっ ていないのは確かなのだが,プログラムの実行に関するイメージをつかまない うちに,説明するのも難しい(プログラム言語を数学的に定義しようという試 みもあるが,そのための道具の使い方を覚えるだけで1学期の講義では足りな い). 第3回でオブジェクト型の説明をするまでは,1つのクラスからなり,mainと いうメソッドしかないプログラムのみを扱うので,それまではそれぞれの用語 が使われた時に,プログラムの字面のどの部分に対応するかだけを覚えるだけ で良い.
java クラス名とすると,そのクラスの定義中の main という名前のメソッド(名前だけでな く,型定義も一致する必要はあるが)から実行を開始する.
mainのメソッドの定義は 2行目の'{'と5行目の'}'の間の2行である.
System.out.println("Hello World");という文と,
System.out.println("Hello Again");という2つの文からなる. System.out.printlnというのは「Systemというクラ スのstatic データである out というPrintStreamのprintlnというメソッド」 というものを意味するが, 今のところは一まとまりで「文字列(String)を改行 つきで出力する命令」と考えて良い. 後で説明する制御文などでない普通の文 の並びは上から順に実行されるので,
Hello World Hello Againのように2つの文が順に実行されるのである.
より詳しい説明を見たい人は, こちら にSystemクラスの説明がある.
ここまでの例では,ファイル名を「クラス名.java」としなくても,コンパ イル実行できたが,後で出てくる「publicなクラス」の場合にはファイル名と クラス名の関連付けがなされるので,ファイル名を「クラス名.java」とする 習慣をつけておくと良い.
先ほどのプログラムにしつこいコメントを加えたものが以下のプログラムであ る.コンパイル結果,実行結果はこれまでと変わらない.
class Test { // クラス Test の定義の開始 // メソッド main の定義の開始 public static void main(String[] argv){ // "Hello World"という文字列を改行付で出力する. System.out.println("Hello World"); // "Hello Again"という文字列を改行付で出力する. System.out.println("Hello Again"); } // メソッド main の定義の開始 }// クラス Test の定義の終了