まずは,以下のクラスファイルの基本形を覚えておきましょう.
GivenClassName
は与えられたクラス名に置き換えてください.
run
メソッド内に指定されたプログラムを書いてください.
main
メソッドは返り値の型の前にpublic static
というキーワードがついていますが,これらのキーワードは今のところは main
のみにつけるものと思ってください.
public class GivenClassName{
void run(){
// ここに課題内容のプログラムを書く.
}
public static void main(String[] args){
GivenClassName application = new GivenClassName();
application.run();
}
}
ここで注目してもらいたいのは,6行目,GivenClassName application = new GivenClassName();
と,
7行目のapplication.run();
です.
6行目のnew GivenClassName()
でGivenClassName
という型の実体を作成し,
GivenClassName
型の変数application
に代入しています.
そして,7行目のapplication.run()
は,変数application
に対して,
run
メソッドを呼び出しています.
C言語とは異なり,Java言語では,メソッドはどこかの型の実体に必ず所属しています. そのため,メソッドを呼び出すときは,どの実体に対して呼び出すのかを明示しなくてはいけません.
なお,public
については,FAQの可視性とは何ですかを参照してください.
先ほど,new
で実体を作成したと言いました.
次のプログラムは今まで書いてきたプログラムの例です.
Integer value1 = 3;
Integer value2 = 5;
Integer result = value1 + value2;
System.out.println(result);
実は,このプログラムは,様々なものが省略されています.省略せずに書くと,次のようなプログラムになります.
Integer value1 = new Integer(3);
Integer value2 = new Integer(5);
Integer result = new Integer(value1 + value2);
System.out.println(result);
このように,実は,実体を作成して変数に代入しています. Java言語では,ほぼ全てこのように実体を作成しなければ変数に代入できないことを覚えておいてください.
実体を作成するには,基本的には new
演算子を利用し,new 型名
とします.
しかし,Integer
型は,Java 9 からはnew
演算子での実体の作成が非推奨となりました(コンパイル時に警告が出るようになります).
代わりに Integer.valueOf
メソッドを利用します.
上記のプログラムは,以下のように書き換えることで,将来的にも利用できるプログラムとなります.
Integer value1 = Integer.valueOf(3);
Integer value2 = Integer.valueOf(5);
Integer result = Integer.valueOf(value1 + value2);
System.out.println(result);