Day04java方法

所有学习内容来自:狂神说java

Java方法详解

一、方法

java方法是语句的集合,它们在一起执行一个功能。

  • 方法是解决一类问题的步骤的有序集合
  • 方法包含于类或对象中
  • 方法在程序中被创建,在其他地方被引用

设计方法的原则:设计方法时最好保持方法的原子性,就是一个方法值完成一个功能,这样有利于后期的扩展。

举例:

public class Demo01 {

    //main方法
    public static void main(String[] args) {
        int add = add(1, 2);
        System.out.println(add);
        
        test()
    }

    //加法
    //修饰符(可有可无) + (类变量声明static,这样才可以在类内调用)+返回值
    //+方法名+输入形式
    public static int add(int a, int b){
        return a+b;
    }
    
    public static void test(){
        for (int i = 0; i < 1000; i++) {
            if (i%100==0){
                System.out.println(i);
            }
        }
    }
}

二、方法定义及调用

Java的方法类似于其他语言的函数。

举例:

public class Demo02 {
    public static void main(String[] args) {
        int max = max(5, 6);
        System.out.println(max);

    }

    //比大小
    public static int max(int a, int b){

        if (a>b){
            return a;//return也可以终止方法
        }
        else {
            return b;
        }
    }
}

方法调用

java是值传递。

三、方法重载

public class Demo02 {
    public static void main(String[] args) {
        int max = max(5, 6);
        double max2 = max(5.0, 6.0);
        System.out.println(max);
        System.out.println(max2);

    }

    //比大小
    public static int max(int a, int b){

        if (a>b){
            return a;//return也可以终止方法
        }
        else {
            return b;
        }
    }

    public static double max(double a, double b){

        if (a>b){
            return a;//return也可以终止方法
        }
        else {
            return b;
        }
    }
}

四、命令行传参*

有时候希望运行一个程序的时候再给它传递消息。这要靠传递命令行参数给main()函数实现。

public class Demo03 {
    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++){
            System.out.println("args["+i+"]:"+args[i]);
        }
    }
}
//打印传入的参数

命令行传参:

  1. 在java文件路径进行编译 javac Demo03.java
  2. 退回到src路径进行传参java cai.method.Demo03 this is args

五、可变参数

举例:

public class Demo04 {
    public static void main(String[] args) {
        Demo04 demo04 = new Demo04();
        demo04.test(1, 2, 654, 84, 15, 645);
        demo04.test(new int[]{1, 2, 3, 4, 5});
    }
    public void test(int... i){	//可变参数某种程度上就是数组
        if (i.length == 0){
            System.out.println("No args");
            return;
        }
        int result = i[0];
        for(int j:i){
            if(j > result){
                result = j;
            }
        }
        System.out.println("The max num is:"+result);
    }

}

六、递归

举例(计算阶乘):

public class Demo06 {
    public static void main(String[] args) {
        int a = F(3);
        System.out.println(a);
    }
    //递归计算阶乘
    public static int F(int n){
        if (n==1){
            return 1;
        }
        else {
            return n*F(n-1);
        }
    }
}

posted @ 2023-11-14 16:21  d1rtywater  阅读(20)  评论(0)    收藏  举报