第5回 クラスメソッド プログラムの規模が大きくなると • 全体の見通しが悪くなる • 同じような処理が複数回登場する • 命令文の集合に名前をつけて管理しよう メソッドとは • 命令文の集合に名前を付けたもの 例:10から0までカウントダウンをする命 令の集合に countdown という名前を付け る メソッドの宣言 public static void countdown() { for(int i = 10; i <= 0; i--) { 命令文の集合 System.out.println(i); } } メソッドの宣言(定義)と呼び出し 宣言 public static void メソッド名() { 命令文 } 呼び出し(メソッドの実行) メソッド名(); メソッドの使用例 public class Example { public static void countdown() { for(int i = 10; i <= 0; i--) { System.out.println(i); } } public static void main(String[] args) { countdown(); } } メソッドの呼び出しの流れ 呼び出し側 ① 処理 メソッド メソッドの呼び出し ③ 処理 ② 処理 メソッドの階層的な呼び出し public class Example { public static void methodB() { 処理 } public static void methodA() { methodB(); } public static void main(String[] args) { methodA(); } } ① ② main methodA methodAの呼び出し methodB methodBの呼び出し ④ 処理 ③ 引数 • メソッド名の後ろの括弧()を使って、値 を渡すことができる。 呼び出し側 引数 ① 処理 メソッド メソッドの呼び出し ③ 処理 ② 処理 引数のあるメソッド 宣言 public static void メソッド名(型 変数名) { 命令文 } 呼び出し(メソッドの実行) メソッド名(値); 引数のあるメソッドの使用例 public class Example { public static void countdown(int start) { for(int I = start; i <= 0; i--) { System.out.println(i); } } public static void main(String[] args) { countdown(5); } } 複数の引数のあるメソッド 宣言 public static void メソッド名(型 変数名, 型 変数名) { 命令文 } 呼び出し(メソッドの実行) メソッド名(値, 値); ※ 引数が2個の例。3個以上の場合も同様にカンマで区切って並べる。 引数のあるメソッドの使用例 public class Example { public static void countdown(int start) { for(int I = start; i <= 0; i--) { System.out.println(i); } public static void main(String[] args) { countdown(5); } } 複数の引数のあるメソッドの使用例 public class Example { public static void countdown(int start, int end) { for(int I = start; i <= end; i--) { System.out.println(i); } } public static void main(String[] args) { countdown(5, -5); } } 戻り値 • メソッドから値を戻すこともできる。 呼び出し側 ① 処理 メソッド メソッドの呼び出し ② 処理 ③ 処理 戻り値 戻り値のあるメソッド 宣言 public static 戻り値の型 メソッド名(引数列) { 命令文 return 値; } 呼び出し側 (メソッドを実行して値を受け取る) 変数=メソッド名(引数列); 戻り値のあるメソッドの使用例 public class Example { public static int getSum(int i, int j) { return i + j; } public static void main(String[] args) { int i = getSum(1, 3); System.out.println(i); } } いろいろな戻り値 public static boolean methodA() { return true; } public static String methodB() { return “Hello”; } public static double methodC() { return 0.9; } public static void methodD() { return; } ※ void は、戻り 値が無いことを意味 する
© Copyright 2024 ExpyDoc