最も単純な Java プログラムに学ぶ初歩知識

●もっとも単純なJavaプログラム

もっとも単純な Java プログラムを例に,学習の始めに知っておいた方が良い初歩知識を紹介する。

以下の List 1 が最も単純な Java プログラムのひとつと言える。

List 1 "Hello.java" 構造を把握しやすい書き方

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


この List 1 の一番外側の構造はクラスと呼ばれる(下図の薄緑部分)。





●クラスとは

・クラス(class)とは,ある「事物」がどのようなものであるかを,プログラム上で表現したもの(下図)。
 「事物」には,
   ・属性(データ)
   ・振る舞い(処理)
 がある。したがって,これらを組み合わせれば,「事物」を表現できる。

・ このとき,プログラム上では
   ・属性(データ)は,変数で表現する
   ・振る舞い(処理)は,メソッドで表現する(下図-(1))。

Javaのプログラムは,クラスを単位として構成されている。言い換えれば,「Javaのプログラムはクラスの集合体」なのである。




●クラスの作り方

クラスの作り方を下図に示す。クラスを作ることを,『クラスを定義する』と言う。



・次は,List 1 でクラス Hello の中に書かれた構造(下図の薄赤い部分)について見ていこう。

実は,この部分はメソッドである。mainという名前の特別なメソッドで,Javaでは,プログラムの処理はこの mainメソッドから始まる

※なお,『実行したい main( )メソッドを含むクラス』の事をメインクラス(main class)と呼ぶ。

 


●メソッドは,「事物」の「振る舞い(動作・処理)」を表す。

・メソッドが実行されることで,プログラムは動作する。
・メソッドは,下図Fig.12-(1)の様に特定の書式にしたがって自分で作る事ができる(今ここでこの形を暗記する必要は無い)。
メソッドは,下図fig.12-(2)のように,カッコ内に情報を渡してやると,所定の処理を実行してくれる。
・その他のメソッドの詳細については,後日学習する。ここでは,簡単な紹介だけにとどめる。


・上図Fig.13は,List 1のクラスHelloの中身である。
・つまり,List 1のクラスHello は, main という1個のメソッドを持っていることになる。
・そして,そのmainメソッドでは, System.out.println( )というメソッドで,"hello!"という文字列を画面に表示しているわけである。


●Javaの約束事
 Javaのプログラムでは,いくつか約束事がある(下図)。

  ・1個ファイルの中にクラスはいくつでも書けるが,先頭にpublicという指定が付いたクラス(publicクラス)は1個だけしか書けない
    ※publicという指定の意味は,後の回で学習する。

  ・1個ファイルの中に複数(1個以上)のクラス書かれている場合,

    下図(1):その複数のクラスの中に,publicと指定されているクラスが(1個だけ)ある場合,
      ファイル名は,その1個だけのpublicクラスのクラス名を使って,
        publicクラスの名前.java
      という名前にしなくてはならない(List 1の例では,Hello.java)。
      メインクラスがある場合は,メインクラスを public指定した上で,ソースファイル名は メインクラス名.java としよう。

    下図(2):その複数のクラスの中に,publicと指定されているクラスが1個も無い場合,
      ファイル名は,いずれかのクラス名を使って,
        クラスの名前.java
      という名前にしなくてはならない。
      メインクラスがある場合は,ソースファイル名は メインクラス名.java としよう。
        


これだけは憶えておこう
 この授業では,前期の前半頃までは,ひとつのソースファイルにひとつのクラスしか書かないことが多い。 そこで,上記のルールがよく分からない人は,
  ・『ソースファイルの名前は,その中に書くクラスの名前の後ろに, .java をつける』
  ・『ひとつのソースファイルの中に複数のクラスを書く場合は,main( )メソッドを含む方のクラス名の後ろに .java をつけてファイル名とする。』
と憶えておこう。これでしばらくは演習時のトラブルは避けることができる。
 


●クラスファイル
  ・ ソースファイルをコンパイルすると,その中に書かれた各クラス毎に
     クラス名.class
   という名称のクラスファイルが生成される(下図)。