Java 方法参数
-
形参和实参
信息可以作为实参传递给方法。实参充当方法内部的变量。在方法名称后的括号内指定形参。您可以根据需要添加任意数量的形参,只需用逗号分隔即可。下面的示例包含一个采用类型为String名为fname的参数的方法。调用该方法时,我们传递一个名字,该名字在方法内部用于打印全名:
尝试一下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
当参数传递给方法时,称为实参。因此,从上面的例子: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, char等)的代替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的int变量创建一个checkAge()方法 static void checkAge(int age) { // 如果age小于18,则打印“access granted” if (age < 18) { System.out.println("Access denied - You are not old enough!"); // 如果年龄大于等于18,则打印“Access granted - You are old enough!” } 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!"