Java之方法详解

01、什么是方法

设计方法的时候,最好保持方法的原子性。

就是一个方法只完成一个功能,这样利于我们后期的扩展。

02、方法的定义和调用

(修饰符) 返回值 方法名(参数类型 参数名称){

//方法体

(return 返回值;)

}

  1. 实参,形参

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

猜你喜欢

转载自blog.csdn.net/qq_41171409/article/details/123605299
今日推荐