方法以及方法的重载和方法的递归调用

    科技2022-07-17  100

    方法以及方法的重载和方法的递归调用

    方法根据方法的有无参数和有无返回值分为以下四类:

    (1)无参无返回值 (2)无参有返回值 (3)有参无返回值 (4)有参有返回值

    方法调用 static修饰的方法:类名.方法名()(如果在同一个类中可以直接省略掉类名.,直接方法名()就可以调用) 类的成员方法:在static方法中调用类的成员方法必须通过对象来引用,引用(对象名).方法。如果在类的成员方法中调用另一个成员方法,用this.方法名(),这里的this可以省略掉,直接用方法名()进行调用。 方法返回值类型必须与方法定义的数据类型保持一致。

    方法的重载 方法的重载只与参数列表有关(参数类型、参数个数、参数顺序),与参数的返回值类型和修饰符无关。 方法的重载好处是让人觉得好像是调用一个方法。

    方法的递归调用 递归:函数内部调用自身函数的编程技巧称为递归。 构成条件:(1)子问题须与原始问题为同样的事。 (2)不能无限制的调用本身,需要有个出口,化简为非递归状况处理。

    求1~10的和

    public class Test05 { 求1~10的和 public static void main(String[] args) { int num = 10; int sum = sum(num); System.out.println(sum); } public static int sum(int i) { if (i == 1) return 1; return i + sum(i - 1); } }

    求10的阶乘

    public class Test05 { 求10的阶乘 public static void main(String[] args) { int num = fun(10); System.out.println("10!="+num); } public static int fun(int i) { if (i == 1) return 1; return i * fun(i - 1); } }

    缺点:递归调用栈可能会溢出,其实每调用一次递归会在栈中分配空间,而每个进程的栈的内容的栈的容量是有限的,当调用的层次太多的时候,就会超出栈的容量,出现溢栈。 优点:代码简洁;在树的前序、中序、后序遍历算法中,递归的实现比循环简单。

    Processed: 0.013, SQL: 8