【Java探索之旅】方法重载 递归
在Java中,方法重载是指在同一个类中,可以有多个方法具有相同的名字,但它们的参数必须有不同的类型。这是通过参数类型或参数数量不同来实现的。
方法重载的例子:
public class MethodOverloading {
// 方法重载:参数类型不同
public void test(int value) {
System.out.println("整数参数版本:" + value);
}
public void test(double value) {
System.out.println("双精度浮点数参数版本:" + value);
}
public void test(String value) {
System.out.println("字符串参数版本:" + value);
}
public static void main(String[] args) {
MethodOverloading overloading = new MethodOverloading();
overloading.test(10); // 调用 test(int value)
overloading.test(10.5); // 调用 test(double value)
overloading.test("Hello World!"); // 调用 test(String value)
}
}
在Java中,递归是一种程序设计技术,其中一个方法直接或间接地调用自己。递归通常用于解决可以分解为更简单子问题的复杂问题。
递归的例子:
public class Recursion {
// 计算阶乘
public int factorial(int n) {
if (n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
public static void main(String[] args) {
Recursion recursion = new Recursion();
int result = recursion.factorial(5); // 计算5的阶乘
System.out.println("5的阶乘是:" + result); // 输出结果应为120
}
}
在这个例子中,factorial
方法通过递归调用自己来计算一个数的阶乘。递归在这里是必须的,因为阶乘的定义包含计算更小的阶乘的调用。递归通常有一个明确的终止条件,以防止无限递归。在这个例子中,终止条件是n == 1
。
评论已关闭