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指示该方法不应返回值。如果希望方法返回一个值,则可以使用基本数据类型(如intchar等)的代替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!"
    尝试一下