Java 方法
- 方法定义及调用
- 方法重载
- 可变参数
- 递归
方法定义及调用
-
方法是语句的集合,在一起执行功能(c函数)
public class methodDemo01 { public static void main(String[] args) { // main方法(main函数) int sum = add (1,2); System.out.println(sum); } public static int add (int a ,int b){ // 加static才是类,才能引用 return a+b; } }
-
尽量一个方法实现一个功能
-
main方法尽量保持干净简洁
方法重载
-
重载就是在一个类中有相同函数名称但形参不同的函数!
-
public class methodDemo01 { public static void main(String[] args) { // main方法(main函数) double max = max (10.6,20.3) ; // 括号内是double类型 则执行第二种max System.out.println(max); int max2 = max(20,6); //int类型执行第一个max System.out.println(max2); } public static int max (int num1 ,int num2){ int result = 0; if (num1 == num2){ System.out.println("num1 = num2"); return 0; //终止方法 } if(num1 > num2) result = num1; else result = num2; return result; } public static double max (double num1 ,double num2){ double result = 0; if (num1 == num2){ System.out.println("num1 = num2"); return 0; //终止方法 } if(num1 > num2) result = num1; else result = num2; return result; } }
可变参数(不定项参数)
- 在方法声明中,在指定参数类型后加一个省略号
- 一个方法只能指定一个可变参数,并且它必须是方法的最后一个参数,任何普通参数都必须在他之前声明
public class methodDemo02 {
public static void main(String[] args) {
methodDemo02 demo02 = new methodDemo02();
demo02.test(1,2,3,5,3,2,5);
}
public void test(int ... i){// 如果定义为public void test(int ... i,int x)则违反第二条规则
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
System.out.println(i[3]);
System.out.println(i[4]);
System.out.println(i[5]);
System.out.println(i[6]);
}
}
递归
-
方法自己调用自己
-
递归包含
1.递归头:什么时候不调用自身方法,如果没有头将会陷入死循环
2.递归体:什么时候调用自身方法
阶乘