Java のメソッド・パラメータ
1. パラメータとアーギュメント(引数)
メソッドに情報を渡すための仕組みが「パラメータ」です。パラメータは、メソッド内部で バリアブル(変数) として機能します。
パラメータはメソッド名の後、括弧 () の中に指定します。パラメータは必要な数だけ追加でき、複数ある場合はカンマで区切ります。
以下の例では、fname という名前の String 型パラメータを受け取るメソッドを作成しています。メソッドが呼び出されると、名前が渡され、メソッド内部でフルネームを出力するために使用されます。
1.1 パラメータを使用したコード例
public class Main {
// String型のパラメータ「fname」を受け取るメソッド
static void myMethod(String fname) {
System.out.println(fname + " Refsnes");
}
public static void main(String[] args) {
myMethod("Liam");
myMethod("Jenny");
myMethod("Anja");
}
}
// 出力: Liam Refsnes
// 出力: Jenny Refsnes
// 出力: Anja Refsnesメソッドに渡される実際の値は、アーギュメント(引数) と呼ばれます。上記の例で言えば、fname は パラメータ であり、Liam、Jenny、Anja は アーギュメント です。
2. 複数のパラメータ
メソッドには、必要に応じて複数のパラメータを定義することができます。
2.1 複数パラメータのコード例
public class Main {
// 名前(String)と年齢(int)の2つのパラメータを持つメソッド
static void myMethod(String fname, int age) {
System.out.println(fname + " is " + age);
}
public static void main(String[] args) {
myMethod("Liam", 5);
myMethod("Jenny", 8);
myMethod("Anja", 31);
}
}
// 出力: Liam is 5
// 出力: Jenny is 8
// 出ity: Anja is 31注意: 複数のパラメータを扱う場合、メソッドの呼び出し側では、定義されたパラメータと同じ数、かつ同じ順序で アーギュメント を渡す必要があります。
3. メソッド内での If...Else の活用
メソッドの内部で if...else ステートメントを使用するのは、非常に一般的なパターンです。
3.1 条件分岐を含むメソッドのコード例
public class Main {
// int型のパラメータ「age」を受け取り、年齢チェックを行うメソッド
static void checkAge(int age) {
// 年齢が18歳未満の場合、"Access denied" を出力
if (age < 18) {
System.out.println("Access denied - You are not old enough!");
// 年齢が18歳以上の場合、"Access granted" を出力
} else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
// checkAgeメソッドを呼び出し、アーギュメントとして20を渡す
checkAge(20);
}
}
// 出力: "Access granted - You are old enough!"