方法其本质是为了实现某种功能的工具,有些功能一样,仅仅因为参数不同,这时候可以使用方法的重载,而不用起一堆方法,同时多个相同数据类型的参数,即使使用重载也没有解决,使用可变参数。
递归方法,其实有点类似高中的通项式和数学归纳法。
形式参数,实际参数
java是值传递
可以应用于功能相同,只是参数不同的时候的情况。
进一步:
对于参数个数不同,可以使用可变参数。
对于参数类型不同,可以使用泛型
用于程序运行是需要参数的情况,在代码后面添加参数,传递给main()
注意:
对于package com.guang.method下的Demo01.java
编译的时候,可以在Demo01.java当前目录编译。
运行的时候,需要在com上级目录例如src下运行。
java Demo01.java javac com.guang.method.Demo01 hello world --hello --world package com.guang.method; public class Demo01 { public static void main(String[] args) { for (String s : args) { System.out.println(s); } } }
在指定参数类型后加一个省略号(...)
一个方法中必能有一个可变参数且在最后定义。
本质是一个数组。
public static void add(int... i){ if (i.length==0){ return; } int sum=0; for (int num : i) { sum +=num; } System.out.println(sum); } add(1,2,3); add(new int[]{1,2,3})
阶乘 public static int f(int n){ if(n==1){ return 1; }else { return n*f(n-1); } }