Java 方法中的参数
形参与实参
信息可以作为参数传递给方法。参数在方法中充当变量。
它们在方法名称后的括号内指定。您可以添加多个参数,只需用逗号分隔即可。
下面的示例有一个方法,该方法将名为fname的string
字符串作为参数。
调用方法时,我们传递一个名字,该名字在方法内部用于打印全名:
实例
public class MyClass {
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
当参数parameter被传递给方法时,它被称为实参(argument)。因此,从上面的例子来看:fname
是一个参数,而Liam
, Jenny
和 Anja
是实参。
多个参数
您可以拥有任意多个参数:
实例
public class MyClass {
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
或double
)而不是void
,并在方法内使用return
关键字:
实例
public class MyClass {
static int myMethod(int x) {
return 5 + x;
}
public static void main(String[] args) {
System.out.println(myMethod(3));
}
}
// 输出 8 (5 + 3)
此示例返回方法的两个参数之和:
实例
public class MyClass {
static int myMethod(int x, int y) {
return x + y;
}
public static void main(String[] args) {
System.out.println(myMethod(5, 3));
}
}
// 输出 8 (5 + 3)
您还可以将结果存储在变量中(推荐,因为这样更易于读取和维护):
实例
public class MyClass {
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);
}
}
// 输出 8 (5 + 3)
使用 If...Else 的方法
通常在方法中可使用 if...else
语句:
实例
public class MyClass {
// 使用名为 age 的整数变量创建一个 checkAge() 方法
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!"