何为方法:
package com.kuang.method; public class Demo01 { //main方法 public static void main(String[] args) { int sum = add(1,2); System.out.println(sum); } //加法 public static int add(int a,int b){ return a+b; } }
方法的定义和调用
package com.kuang.method; public class Demo02 { public static void main(String[] args) { int max = max(10,10); System.out.println(max); } //比大小 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; } }
方法的重载
package com.kuang.method; public class Demo02 { public static void main(String[] args) { double max = max(10.00,10.00); int max2 = max(10,10); System.out.println(max); System.out.println(max2); } //比大小 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 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 int max(int num1,int num2,int num3){ int result = 0; if(num1 == num2){ System.out.println("num1==num2"); return 0;//终止方法 } if(num1>num2){ result = num1; }else{ result = num2; } return result; } //参数列表必须不同
//重载名称必须相同
}
可变参数
package com.kuang.method; public class Demo04 { public static void main(String[] args) { Demo04 demo04 = new Demo04(); demo04.test(1,2,3,4,5); } public void test(int... i){ 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]); } }
递归
package com.kuang.method; public class Demo06 { //5! 5*4*3*2*1 public static void main(String[] args) { //5*4*3*3*1 阶乘 5! System.out.println(f(5)); } public static int f(int n){ if(n==1){ return 1; }else{ return n*f(n-1); } } }