01、什么是方法
设计方法的时候,最好保持方法的原子性。
就是一个方法只完成一个功能,这样利于我们后期的扩展。
02、方法的定义和调用
-
(修饰符) 返回值 方法名(参数类型 参数名称){
//方法体
(return 返回值;)
}
- 实参,形参
03、方法的重载
重载:有相同的函数名称,但是形参不同
注意
- 方法名称必须相同
- 参数列表必须不同(个数不同,或者类型不同、参数排列顺序不同等)
- 方法的返回类型可以相同也可以不同
- 仅仅返回类型不同不足以成为方法的重载
04、命令行传递参数
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "]:" + args[i]);
}
}
dos命令(或者在idea命令窗口下执行也可以)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OA0hFo6h-1647702737927)(C:\Users\ZHAYUYAO\AppData\Roaming\Typora\typora-user-images\image-20210219222801242.png)]
05、可变参数
在方法声明中,在指定参数类型后加一个省略号(…)
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明。
public static void main(String[] args) {
printMax(1.2, 2.1, 30.0, 2.7);
printMax(5, 2, 3, 4);
printMax();
}
public static void printMax(double... number) {
int numberLen = number.length;
if (numberLen == 0) {
System.out.println("param is empty");
return;
}
double maxNumber = number[0];
for (int i = 1; i < numberLen; i++) {
if (maxNumber < number[i]) {
maxNumber = number[i];
}
}
System.out.println("max number is " + maxNumber);
}
输出
max number is 30.0
max number is 5.0
param is empty
06、递归讲解
自己调用自己
递归结构包含两个部分
- 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。
- 递归体:什么时候需要调用自身方法。
public static void main(String[] args) {
//阶乘
//1! 1
//2! 2*1
//3! 3*2*1
int result = f(5);
System.out.println(result);
}
public static int f(int i) {
if (i == 1) {
return 1;
}
return i * f(i - 1);
}
输出
120