Java メソッドのパラメーター
パラメータと引数
情報はパラメーターとしてメソッドに渡すことができます。パラメーターは、メソッド内で変数として機能します。
パラメーターは、メソッド名の後の括弧内に指定します。必要な数のパラメーターを追加できます。パラメーターをコンマで区切るだけです。
次の例には、String
と呼ばれるfnameパラメータとして。メソッドが呼び出されると、フルネームを出力するためにメソッド内で使用される名を渡します。
例
public class Main {
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
は引数です。
複数のパラメータ
好きなだけパラメータを持つことができます。
例
public class Main {
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
// Anja is 31
複数のパラメーターを使用する場合、メソッド呼び出しにはパラメーターと同じ数の引数が必要であり、引数は同じ順序で渡される必要があることに注意してください。
戻り値
上記の例で使用されているvoidは、メソッドが値を返してはならないことを示します。メソッドが値を返すようにする場合は、
voidの代わりに、プリミティブ データ型(
int、
charなど)を使用し、メソッド内で
return`キーワードを使用します。
例
public class Main {
static int myMethod(int x) {
return 5 + x;
}
public static void main(String[] args) {
System.out.println(myMethod(3));
}
}
// Outputs 8 (5 + 3)
この例では、2つのパラメータのの合計を返すメソッドです。
例
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
public static void main(String[] args) {
System.out.println(myMethod(5, 3));
}
}
// Outputs 8 (5 + 3)
結果を変数に格納することもできます (読みやすく維持しやすいため、推奨されます)。
例
public class Main {
static int myMethod(int x, int y) {
return x + y;
}
public static void main(String[] args) {
int z = myMethod(5, 3);
System.out.println(z);
}
}
// Outputs 8 (5 + 3)
If...Elseを使用したメソッド
メソッド内でif...else
を使用することはよくあります。
例
public class Main {
// int型の引数を持つcheckAge()メソッドを作成
static void checkAge(int age) {
// ageが18未満であれば、"access denied"を表示
if (age < 18) {
System.out.println("Access denied - You are not old enough");
// ageが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"
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。