Java方法

方法

  • 方法保持原子性(一个方法只完成一个功能,这样利于后期的扩展)

 

方法的定义

语法

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

 

  • Java的方法类似于其他语言的函数,用一段代码片段来完成

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

    • 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型

    • 返回值类型:方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但是没有返回值。在这种情况下,returnValueType 是关键字void。

    • 方法名:方法的实际名称。方法名和参数表共同构成方法签名。

    • 参数类型:参数像一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型,顺序和参数的个数。参数是可选的,方法不包括任何参数。

      • 形式参数:在方法被调用时用于接收外界输入的数据

      • 实参:调用方法时实际传给方法的数据

方法的重载

  • 方法名称必须相同

  • 参数列表必须不同(个数同,或类型不同,参数排列顺序不同等)

  • 方法的返回类型可以相同也可以不相同

  • 仅仅返回类型不同不足以成为方法的重载

public static void main(String[] args) {
       //max方法
       int max = max(10,20);
       System.out.println("最大值为:"+max);

       //方法重载
       double max1 = max(10.0,20.0);
       System.out.println("最大值为:"+max1);

  }
   //比大小
   public static int max(int num1,int num2){
       int result01 = 0;
       if(num1==num2){
           System.out.println("两个数相等");
           return 0; //终止方法
      }
       if (num1>num2){
               result01= num1;
      }else {
           result01 = num2;
      }
          return result01;
  }

   //比大小
   public static double max(double num3,double num4){
       double result02 = 0;
       if(num3==num4){
           System.out.println("两个数相等");
           return 0; //终止方法
      }
       if (num3>num4){
           result02= num3;
      }else {
           result02 = num4;
      }
       return result02;
  }

可变参数

  • 在方法声明中,在指定参数类型后加一个省略号(...)

  • 一个方法中只能指定一个可变参数,它必须是方法的最后一个参数。任何普通的参数必须在它之前声明

public static void main(String[] args) {
       Demo03 d = new Demo03();
       printMax(1,2,3,4,5,6,7,8,9,10);
  }
   public static void printMax(double...nums) {
       if (nums.length == 0) {
           System.out.println("没有参数");
           return;
      }
       double result = nums[0];

       //排序
       for (int i = 0; i < nums.length; i++) {
           if (nums[i] > result) {
               result = nums[i];
          }
      }
       System.out.println("最大值为:"+result);
  }

递归

  • A方法自己调用自己

  • 递归包括

    • 递归头:什么时候不调用自身方法。如果没有头,将陷入死循环。

    • 递归体:什么时候需要调用自身方法

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 @ 2022-06-04 22:29  萧十一  阅读(271)  评论(0)    收藏  举报