一、方法的定义及调用
Java方法是语句的集合,它们在一起执行一个功能。
- 方法包含于类或对象中
- 方法在程序中被创建,在其他地方被引用
- 命名:首字母小写的驼峰命名
Java方法的定义:类似于其他语言的函数,用来完成特定功能的代码片段。一个方法=方法头+方法体,具体如下
方法调用:对象名.方法名(实参列表)
Java支持两种调用方式:当方法有返回值时,方法调用被当做一个值;当方法没有返回值时,方法调用是一条语句。
注意:Java是值传递!
二、方法重载
重载:在一个类中,有相同的方法名称,但是形参不同的方法。
方法重载的规则:
-
方法名称必须相同
-
参数列表必须不同(个数不同、或类型不同、或 不同类型的参数排列顺序不同)
-
方法的返回类型可以相同、也可以不同
-
仅返回类型不同不是方法的重载
⭐️遇到重载方法时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配对应的方法,如果匹配失败,编译器就会报错。
public static int add(int b, double a) {
//参数类型不同
return (int)(b+a);
}
public static int add(double b, int a) {
//参数列表的顺序不
return (int)(b+a);
}
三、命令行传参
将当前java文件在资源管理器中打开,利用cmd+空格打开dos窗口,利用javac + 文件名.java进行编译,生成class后,执行class文件要返回到src目录下(返回上一级cd…/),利用java 包名.包名.文件名 要传入的参数。
四、可变参数
- jdk1.5开始,Java支持传递同类型的可变参数给一个方法,不规定到底传入多少个
- 在方法声明中,在指定参数类型后加一个省略号…
- 一个方法中只能指定一个可变参数,且必须是方法的最后一个参数,任何普通参数都必须在可变参数之前声明。
public static void printMax(int... nums) {
//nums即为可变参数
if (nums.length==0) {
System.out.println("没有比较的数");
}
int result=0;
for (int i = 0; i <nums.length; i++) {
if (nums[i]>result) {
result=nums[i];
}
}
System.out.println("max value is "+result);
}
五、递归
递归:方法自己调用自己,更适用于基数较小时。
递归结构=递归出口+递归体