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
はパラメータ、while 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
の例で使用されているキーワードは、メソッドが値を返さないことを示しています。メソッドが値を返すようにする場合は、の代わりにプリミティブデータ型(int
、
char
など)void
を使用し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 {
// Create a checkAge() method with an integer variable called age
static void checkAge(int age) {
// If age is less than 18, print "access denied"
if (age < 18) {
System.out.println("Access denied - You are not old enough!");
// If age is greater than, or equal to, 18, print "access granted"
} else {
System.out.println("Access granted - You are old enough!");
}
}
public static void main(String[] args) {
checkAge(20); // Call the checkAge method and pass along an age of 20
}
}
// Outputs "Access granted - You are old enough!"