重载
- 同一个类中定义多个同名方法,形参列表不同即可。
- 实际调用时,根据实参的类型来决定调用哪一个方法,不根据方法返回值类型判断。
方法调用
- 静态方法:static 调用:类.方法()
- 非静态方法 实例化这个类 new
对象类型 对象名 = 对象值
Student student = new Student();
student.say();
命令行传参
- 编译时进入Java文件所在文件夹
- 运行时退回包的最上层文件夹
可变参数
- 在指定参数类型后加一个(…)
- 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在他之前声明。
public static void main(String[] args) {
Demo4 demo4 = new Demo4();
demo4.test(3,4,5,61);
}
public void test(int...i){
System.out.println(i[1]);
}
递归
- 递归结构包含两个部分
递归头: 什么时候不调用自身方法。没头,将陷入死循环。
递归体:什么时候需要调用自身方法。 - 递归必须要有三个要素:
①、边界条件
②、递归前进段
③、递归返回段
当边界条件不满足时,递归前进;
当边界条件满足时,递归返回。 - 计算器
package Method;
import java.util.Scanner;
public class Practise {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入第一个数:");
double num1 = scanner.nextDouble();
System.out.println("请输入符号:");
String ope = scanner.next();
System.out.println("请输入第二个数:");
double num2 = scanner.nextDouble();
switch (ope){
case "+":
System.out.println(num1+"+"+num2+"="+add(num1,num2));
break;
case "-":
System.out.println(num1+"-"+num2+"="+reduce(num1,num2));
break;
case "*":
System.out.println(num1+"*"+num2+"="+mul(num1,num2));
break;
case "/":
System.out.println(num1+"/"+num2+"="+divide(num1,num2));
break;
default:
System.out.println("输入错误!");
break;
}
}
public static double add(double a,double b){
return a+b;
}
public static double reduce(double a,double b){
return a-b;
}
public static double mul(double a,double b){
return a*b;
}
public static double divide(double a,double b){
return a/b;
}
}