目录
1.方法的定义
代码演示
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;
}
}
2.方法调用
Java 支持两种调用方法的方式,根据方法是否返回值来选择。当程序调用一个方法时,程序的控制权交给了被调用的方法。当被调用方法的返回语句执行或者到达方法体闭括号时候交还控制权给程序。当方法返回一个值的时候,方法调用通常被当做一个值。
3.方法的重载
如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用;
如果传递的是double型参数,则double类型的max方法体会被调用,这叫做方法重载;
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;
}
}
4.可变参数
public class Deno04 {
public static void main(String[] args) {
//调用可变长参数
printMax(34,28,1,2,67.3);
printMax(new double[]{1,2,3});
}
public static void printMax(double... numbers){
if (numbers.length == 0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
//排序
for (int i = 0; i < numbers.length; i++) {
if (numbers[i]>result){
result = numbers[i];
}
}
System.out.println("The max value is "+result);
}
}
5.递归
递归结构包括两个部分:
1. 递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。
2. 递归体。解答:什么时候需要调用自身方法。
public class Demo05 {
public static void main(String[] args) {
System.out.println(f(3));
}
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
}