Java 方法
方法是执行特定任务的代码块。在本教程中,我们将通过示例了解 Java 方法是什么、如何定义方法以及如何在 Java 程序中使用方法。
在本教程中,我们将通过示例了解 Java 方法是什么、如何定义方法以及如何在 Java 程序中使用方法。
Java 方法
方法是执行特定任务的代码块。方法都定义在 Java 类中。
假设您需要创建一个程序来创建一个圆并为其着色。您可以创建两种方法来解决此问题:
- 一个画圆的方法
- 一个给圆圈上色的方法
将复杂的问题分成更小的块使您的程序易于理解和重用。
在 Java 中,有两种类型的方法:
- 用户定义的方法:我们可以根据自己的要求创建自己的方法。
- 标准库方法:这些是 JDK 中可供使用的内置方法。
让我们首先了解用户定义的方法。
声明一个 Java 方法
声明方法的语法是:
returnType methodName() {
// method body
}
这里,
-
returnType
- 它指定一个方法返回什么类型的值。例如,如果一个方法的返回类型是int
,那么它返回一个整数值。如果该方法不返回值,则其返回类型为
void
。 -
methodName
- 它是一个标识符,用于引用程序中的特定方法。 -
方法体- 它包括用于执行某些任务的编程语句。方法主体包含在花括号内
{ }
。
例如,
int addNumbers() {
// code
}
在上面的例子中,方法的名称是 adddNumbers()
,返回类型是 int
. 我们将在本教程的后面了解有关返回类型的更多信息。
这是声明方法的简单语法。但是,声明方法的完整语法是:
modifier [static] returnType nameOfMethod (parameter1, parameter2, ...) {
// method body
}
说明:
-
modifier
- 它定义访问类型,可以是公共的、私有的,等等。要了解更多信息,请访问Java 访问修饰符。 -
static
- 如果我们使用static
关键字,则可以在不创建对象的情况下访问它。例如,标准Math 类的
sqrt()
方法是静态的。因此,我们可以直接调用Math.sqrt()
而无需创建Math
类的实例。 -
parameter1, parameter2
- 这些是传递给方法的参数。我们可以将任意数量的参数传递给一个方法。
在 Java 中调用方法
在上面的例子中,我们声明了一个名为 addNumbers()
的方法。
下面是我们如何调用 addNumbers()
方法。
addNumbers();
示例 1:Java 方法
public class Main {
// 创建方法
public int addNumbers(int a, int b) {
int sum = a + b;
// 返回值
return sum;
}
public static void main(String[] args) {
int num1 = 25;
int num2 = 15;
// 创建对象
Main obj = new Main();
// 调用方法
int result = obj.addNumbers(num1, num2);
System.out.println("和 = " + result);
}
}
输出
和 = 40
在上面的例子中,我们创建了一个名为 addNumbers()
的方法。该方法有两个参数 a
和 b
。 注意下面这行代码:
int result = obj.addNumbers(num1, num2);
在这里,我们通过传递两个参数 num1
和 num2
来调用该方法。 由于该方法需要返回某个值,因此我们将该值存储在 result
变量中。
注意:该方法不是静态的。因此,我们使用类的对象调用方法。
Java 方法返回类型
Java 方法可能有返回值,也坑没有返回值。我们使用return 语句返回任何值。例如,
int addNumbers() {
...
return sum;
}
在这里,我们返回 sum
变量. 由于函数的返回类型是 int
, sum
变量应该是 int
类型。否则会产生错误。
如果方法不返回任何值,我们使用 void
关键字作为方法的返回类型。例如,
public void square(int a) {
int square = a * a;
System.out.println("Square is: " + a);
}
示例 2:方法返回类型
public class Main {
public static int square(int num) {
return num * num;
}
public static void main(String[] args) {
int result;
// 调用方法并将方法的返回值赋值给 result 变量
result = square(10);
System.out.println("10 的平方值是:" + result);
}
}
输出:
10 的平方值是:100
在上面的程序中,我们创建了一个名为 square()
的方法。该方法将一个数字作为其参数并返回该数字的平方。
Java 中的方法参数
方法参数是方法接受的值。如前所述,一个方法也可以有任意数量的参数。例如,
// 有 2 个参数的方法
int addNumbers(int a, int b) {
// code
}
// 没有参数的方法
int addNumbers(){
// code
}
如果创建了一个带参数的方法,我们需要在调用该方法时传递相应的值。例如,
// 调用有 2 个参数的方法
addNumbers(25, 15);
// 调用没有参数的方法
addNumbers()
示例 3:方法参数
public class Main {
// 此方法没有参数
public void display1() {
System.out.println("没有参数的方法");
}
// 此方法有 1 个参数
public void display2(int a) {
System.out.println("带单个参数的方法:" + a);
}
public static void main(String[] args) {
// 创建对象
Main obj = new Main();
// 调用没有参数的方法
obj.display1();
// 调用 1 个参数的方法
obj.display2(24);
}
}
输出
没有参数的方法
带单个参数的方法:24
例子中方法的参数是 int
。因此,如果我们传递参数的数据类型不是 int
,编译器将抛出错误。这是因为 Java 是一种强类型语言。
! 注意: 在方法调用期间传递给方法的参数称为实参(实际参数)。方法定义所接受的参数称为形参(形式参数),我们需要指定形式参数的类型。并且,实际参数和形式参数的类型应该始终匹配。
标准库方法
标准库方法是 Java 的内置方法。这些标准库与 Java 类库 (JCL) 一起出现在带有 JVM 和 JRE 的 Java 归档 (*.jar
) 文件中。
例如,
print()
是一种方法java.io.PrintSteam
。该print("...")
方法在引号内打印字符串。sqrt()
是Math
类的方法。它返回一个数的平方根。
这是一个工作示例:
示例 4:Java 标准库方法
public class Main {
public static void main(String[] args) {
System.out.print("4 的平方根是:" + Math.sqrt(4));
}
}
输出:
4 的平方根是:2.0
使用方法有什么好处?
-
主要优点是代码可重用性。我们可以一次编写一个方法,并多次使用它。我们不必每次都重写整个代码。把它想象成“一次编写,多次重复使用”。
-
方法使代码更具可读性,更易于调试。在这里,下面例子
getSquare()
方法将计算平方的代码保留在一个块中。因此,使其更具可读性。
示例 5:用于代码可重用性的 Java 方法
public class Main {
// 定义方法
private static int getSquare(int x){
return x * x;
}
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
int result = getSquare(i);
System.out.println(i + " 的平方是:" + result);
}
}
}
输出:
1 的平方是:1
2 的平方是:4
3 的平方是:9
4 的平方是:16
5 的平方是:25
在上面的程序中,我们创建了一个名为 getSquare()
计算数字平方的方法。这里,该方法用于计算小于 6 的数字的平方。
在循环中,可以一次又一次地使用重复使用此方法,而不用重复的编码。