Java基础复习(五)

方法

//System.out.println();
//类.对象.方法

设计方法原则:一个方法只完成一个功能,有利于后期拓展

方法包含一个方法头和一个方法体

按住CTRL点击方法名即可看到方法体

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

形式参数:a,b 实际参数:1,2


public class Demo01 {
    public static void main(String[] args) {
        int a=3;int b=5;
        System.out.println(max(a,b));
    }
    public static int max(int num1,int num2) {
        int result = 0;
        if (num1 >= num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;  //num1>=num2?num1:num2;
    }
}

方法重载(同名不同参)

重写(Override):返回值类型和参数不变

重载(Overload):方法名相同,参数列表不同,返回值类型可相同也可不同,只有返回值类型不同不足以成为方法的重载。即外壳不变,核心重写

public class Demo01 {
    public static void main(String[] args) {
        System.out.println(max(10.0,20.0));


    }
    public static double max(double num1,double num2) {
        double result = 0.0;
        if (num1 >= num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;  //num1>=num2?num1:num2;
    }
    public static int max(int num1,int num2) {
        int result = 0;
        if (num1 >= num2) {
            result = num1;
        } else {
            result = num2;
        }
        return result;  //num1>=num2?num1:num2;
    }

}

通过命令行传参

package Jc;

public class CommandLine {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
}

打开cmd用javac 和 java命令传递参数

编译的时候不用回到src目录,执行的时候需要![](C:\Users\Lee\Pictures\Camera Roll\屏幕截图 2021-07-27 160418.png)

可变参数

在方法声明中,指定参数类型后加一个省略号(...)且必须是最后一个参数

package Jc;

public class Demo02 {
    public static void main(String[] args) {
        // 调用可变参数的方法
        printMax(12,1,3,5,31.5);
        printMax(new double[]{1,2,3});
    }
    public static void printMax(double...numbers){
        if(numbers.length==0){
            System.out.println("No agument passed");
            return; //表示方法结束
        }
        double result = numbers[0];
        //排序
        for (int i = 1; i < numbers.length; i++) {
            if(numbers[i]>result){
                result=numbers[i];
            }
        }
        System.out.println("The max value is "+result);
    }
}

posted @ 2021-07-27 16:26  颜骏  阅读(94)  评论(0编辑  收藏  举报