Java研修資料
メソッド
A:mainの中にたくさんの処理を詰め込むと理解しにくくなります。処理を分割しましょう。別のメソッドを作ります。
B:メソッドというのは何ですか。
A:mainもメソッドの一つです。これはJavaから呼び出されました。我々のプログラムの入り口でした。main()に似たメソッドを作って、main()から呼び出せます。概略を書くと次のようになります。
public static void main(String[] args) { ... a = averageHeight(h); }
public static int averageHeight (int[] h){ ... return a; } |
B:public static void main(String[] args) とpublic static int averageHeight()を比較すると、voidがintに、mainがaverageHeightになり、()の中がString[] argsであったところが、int h[]になっています。
A:mainがaverageHeightになるのは違った名前を付けたからです。()内は引数(パラメータ)を書きます。averageHeightは、全員の身長をこの引数で受け取ります。
B:voidとintは?
A:これらはは戻り値の型です。voidは戻り値がないことを意味します。intは戻り値の型がint型であることを意味します。averageHeightは、計算した平均値を戻す予定です。
B:戻り値の型の前のpublic staticというのは何ですか? main()とaverageHeight()双方とも同じ指定になっていますが。
A:これを理解するにはクラスやオブジェクトの知識が必要です。文法を学習している間は、「マントラ」(ありがたいおことば)として、そのまま使い、気にかけないで進みましょう。
B:そうですか。
A:すこし未練があるかもしれませんが、少し経てば理解できるレベルに達します。それでは、テストのための新しくクラスを作ります。HelloJava2にします。HelloJava1でmain()に詰め込んだ内容をmainとaverageHeight()に分けて下さい。hの初期化はmain()に残し、引数で渡します。
B:はい。こうなりました。
package basic;
public class HelloJava2 { public static void main(String[] args) { int h[] = {1545,1370,1477}; // 身長の初期化
// 平均身長を計算する。 int a = averageHeight(h); System.out.println("平均=" + a); } /* * 身長の平均値を計算する */ public static int averageHeight(int[] h){ int i; int m; m=0; for(i=0; i<3; i++){ m= m+h[i]; System.out.println(m); } int a = m/3; return a; } } |
A:OKです。メソッドの作り方はこれで終わりです。
以上