Java 方法

方法是执行特定任务的代码块。

假设您需要创建一个程序来创建并着色一个圆。您可以通过创建两个方法来解决此问题

  • 绘制圆的方法
  • 为圆着色 的方法

将复杂问题分解成更小的块,可以使您的程序易于理解和重用。

在 Java 中,方法有两种类型

  • 用户定义方法:我们可以根据自己的需求创建自己的方法。
  • 标准库方法:这些是 Java 中内置的方法,可供使用。

首先,我们来学习用户定义方法。


声明 Java 方法

声明方法的语法是

returnType methodName() {
  // method body
}

这里,

  • returnType - 它指定了方法返回值的类型。例如,如果一个方法具有 int 返回类型,则它返回一个整数值。

    如果方法不返回值,则其返回类型为 void
  • methodName - 这是一个 标识符,用于在程序中引用特定方法。
  • method body - 它包含用于执行某些任务的编程语句。方法体包含在花括号 { } 中。

例如,

int addNumbers() {
// code
}

在上面的示例中,方法的名称是 adddNumbers()。返回类型是 int。我们将在本教程稍后详细了解返回类型。

这是声明方法的简单语法。但是,声明方法的完整语法是

modifier static returnType nameOfMethod (parameter1, parameter2, ...) {
  // method body
}

这里,

  • modifier - 它定义了访问类型,例如方法是 public、private 等。要了解更多信息,请访问 Java 访问修饰符
  • static - 如果我们使用 static 关键字,则无需创建对象即可访问它。

    例如,标准 Math 类sqrt() 方法是静态的。因此,我们可以在不创建 Math 类实例的情况下直接调用 Math.sqrt()
  • parameter1/parameter2 - 这些是传递给方法的参数。我们可以向方法传递任意数量的参数。

在 Java 中调用方法

在上面的示例中,我们声明了一个名为 addNumbers() 的方法。现在,要使用该方法,我们需要调用它。

我们可以这样调用 addNumbers() 方法。

// calls the method
addNumbers();
Call a method in Java using the name the method followed by a parenthesis
Java 方法调用的工作原理

示例 1:Java 方法

class Main {

  // create a method
  public int addNumbers(int a, int b) {
    int sum = a + b;
    // return value
    return sum;
  }

  public static void main(String[] args) {
    
    int num1 = 25;
    int num2 = 15;

    // create an object of Main
    Main obj = new Main();
    // calling method
    int result = obj.addNumbers(num1, num2);
    System.out.println("Sum is: " + result);
  }
}

输出

Sum is: 40

在上面的示例中,我们创建了一个名为 addNumbers() 的方法。该方法接受两个参数 ab。请注意这一行:

int result = obj.addNumbers(num1, num2);

在这里,我们通过传递两个参数 num1num2 来调用该方法。由于该方法返回某个值,我们将该值存储在 result 变量中。

注意:该方法不是静态的。因此,我们使用类的对象来调用该方法。


Java 方法返回类型

Java 方法可以返回一个值给函数调用,也可以不返回。我们使用 return 语句返回任何值。例如:

int addNumbers() {
...
return sum;
}

在这里,我们正在返回变量 sum。由于函数的返回类型是 int。sum 变量应为 int 类型。否则,将生成错误。

示例 2:方法返回类型

class Main {

// create a method
  public static int square(int num) {

    // return statement
    return num * num;
  }

  public static void main(String[] args) {
    int result;

    // call the method
    // store returned value to result
    result = square(10);

    System.out.println("Squared value of 10 is: " + result);
  }
}

输出:

Squared value of 10 is: 100

在上面的程序中,我们创建了一个名为 square() 的方法。该方法接受一个数字作为参数,并返回该数字的平方。

在这里,我们将方法的返回类型指定为 int。因此,该方法应始终返回一个整数值。

Java method returns a value to the method call
返回值的 Java 方法表示

注意:如果方法不返回任何值,我们使用 void 关键字作为方法的返回类型。例如:

public void square(int a) {
  int square = a * a;
  System.out.println("Square is: " + square);
}

Java 中的方法参数

方法参数是方法接受的值。如前所述,方法也可以有任意数量的参数。例如:

// method with two parameters
int addNumbers(int a, int b) {
  // code
}

// method with no parameter
int addNumbers(){
  // code
}

如果一个方法是用参数创建的,我们需要在调用方法时传递相应的参数。例如:

// calling the method with two parameters
addNumbers(25, 15);

// calling the method with no parameters
addNumbers()

示例 3:方法参数

class Main {

  // method with no parameter
  public void display1() {
    System.out.println("Method without parameter");
  }

  // method with single parameter
  public void display2(int a) {
    System.out.println("Method with a single parameter: " + a);
  }

  public static void main(String[] args) {
    
    // create an object of Main
    Main obj = new Main();

    // calling method with no parameter
    obj.display1();
    
    // calling method with the single parameter
    obj.display2(24);
  }
}

输出

Method without parameter
Method with a single parameter: 24

这里,方法的参数是 int。因此,如果我们传递任何其他数据类型而不是 int,编译器将抛出错误。这是因为 Java 是一种强类型语言。

注意:在方法调用期间传递给 display2() 方法的参数 24 称为实际参数。

方法定义中接受的参数 a 称为形式参数。我们需要指定形式参数的类型。实际参数和形式参数的类型应始终匹配。


标准库方法

标准库方法是 Java 中现成的内置方法。这些标准库与 Java 存档(*.jar)文件中的 Java 类库 (JCL) 一起提供,其中包含 JVM 和 JRE。

例如,

  • print()java.io.PrintSteam 的一个方法。print("...") 方法打印引号内的字符串。
  • sqrt()Math 类的一个方法。它返回一个数字的平方根。

这是一个工作示例

示例 4:Java 标准库方法

public class Main {
  public static void main(String[] args) {
    
    // using the sqrt() method
    System.out.print("Square root of 4 is: " + Math.sqrt(4));
  }
}

输出:

Square root of 4 is: 2.0

要了解更多关于标准库方法的信息,请访问 Java 库方法


使用方法的优点是什么?

1. 主要优点是代码可重用性。我们可以编写一次方法,然后多次使用它。我们不必每次都重写整个代码。可以将其视为“编写一次,多次重用”。

示例 5:Java 方法实现代码重用

public class Main {

  // method defined
  private static int getSquare(int x){
    return x * x;
  }

  public static void main(String[] args) {
    for (int i = 1; i <= 5; i++) {

      // method call
      int result = getSquare(i);
      System.out.println("Square of " + i + " is: " + result);
    }
  }
}

输出:

Square of 1 is: 1
Square of 2 is: 4
Square of 3 is: 9
Square of 4 is: 16
Square of 5 is: 25

在上面的程序中,我们创建了一个名为 getSquare() 的方法来计算数字的平方。这里,该方法用于计算小于 6 的数字的平方。

因此,相同的方法被一次又一次地使用。

2. 方法使代码更易读且易于调试。这里,getSquare() 方法将计算平方的代码保存在一个块中。因此,使其更具可读性。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战