Java方法

Java方法详解

方法基本概念

package com.arbedu.method;

public class Demo01 {
    // main方法
    public static void main(String[] args) {
        int a;
        int b;
        int sum = add(1, 2);	// 实际参数,用来调用传递的参数
        System.out.println(sum);
        test();
    }
    // 加法
    // a,b形式参数,用来定义作用的
    public static int add(int a, int b){
        return a + b;
    }

    // 循环
    public static void test(){
        for (int i = 0; i < 10; i++) {
            System.out.print(i+" ");
        }
    }
}


package com.arbedu.method;

public class Demo02 {
    public static void main(String[] args) {
        
        int max = max(10,20);
        System.out.println(max);
    }
    // 比大小
    public static int max(int num1, int num2) {
        
        int result;
        
        if (num1 == num2) {
            System.out.println("num is the same");
            return 0;   // 终止方法
        }
        if (num1 > num2) {
            result = num1;
        }else {
            result = num2;
        }
        return result;
    }
}

方法的重载

重载就是在一个类中,有相同的函数名称,但形参不同的函数

  • 方法名称相同
  • 参数列表不同(个数不同、类型不同、参数排列顺序不同(可读性差))
  • 方法的返回类型可以相同也可以不同
  • 仅仅返回类型不同不足以成为方法的重载
  • JVM会对重载自行判断
package com.arbedu.method;

public class Demo01 {
    public static void main(String[] args) {
        int i;
        int j;
        int k;
        int sum1 = add(1, 2);
        int sum2 = add(1, 2, 3);
        double sum3 = add(1.0, 2.0);

    }

    // 方法1
    public static int add(int a, int b) {
        return a + b;
    }
    // 方法2 与方法1相同 不是方法的重载 报错
    //public static int add(int a, int b) {
    //   return a + b;
    //}

    // 方法3
    public static int add(int a, int b, int c) {
        return a + b + c;
    }

    // 方法4
    public static double add(double a, double b) {
        return a + b;
    }
    // 方法5
    // public static int add(int b, int a) {
    //   return a+b;
    // }
}


命令行传参

package com.arbedu.method;

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

![操作方法](C:\Users\12113\Pictures\Screenshots\屏幕截图 2025-03-18 224848.png)

可变参数(不定项参数)

package com.arbedu.method;

public class Demo04 {
    public static void main(String[] args) {
    // 调用可变参数的方法
        printMax(34, 4, 4, 1,94);
    }
  public static void printMax(double... numbers) {
        if(numbers.length == 0) {
            System.out.println("No arguments 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);
  }
    }


递归

能不用递归就不用递归

package com.arbedu.method;

public class Demo05 {
    public static void main(String[] args) {
        System.out.println(f(4));
    }
    public static int f(int n){
        if(n == 1) {	//限制条件
            return 1;

        }else{
            return n*f(n-1);
        }
    }
}

posted @ 2025-04-29 23:56  会编程的啊啵  阅读(5)  评论(0)    收藏  举报