1. 程式人生 > 其它 >堆結構-高效維護資料集中最大最小值問題

堆結構-高效維護資料集中最大最小值問題

可變引數

·基本概念

jva允許將同一個類中多個同名同功能但引數個數不同的方法,封裝成一個方法。

這裡就可以通過可變引數實現

基本語法

訪問修飾符 返回型別 方法名(資料型別 … 形參名){ }

快速入門案例 VarParametert01.java

看一個案例類HspMethod, 方法sum

public class VarParametert01 {
  public static void main(String[] args) {
      HspMethod m1 = new HspMethod();
      m1.sum(2,3,4);
  }
}

class HspMethod{
  //可以計算1-5個數的和
  //可以使用方法過載,但是比較麻煩
//   public int sum(int n1, int n2){
//       return n1 + n2;
//   }
//   public int sum(int n1, int n2 ,int n3){
//       return n1 + n2 + n3;
//   }
//   public int sum(int n1, int n2 ,int n3 ,int n4){
//       return n1 + n2 + n3 + n4;
//   }
  //可以看到三個方法名稱一致,引數個數不同--因此可以使用可變引數


  //1.int...表示可變引數,可以接收多個int(0到多)
  //2.使用可變引數的時候可以當作陣列來使用,即nums可當作陣列
  public int sum (int... nums){
      System.out.println("接收到的引數個數"+nums.length);
      int sum = 0;
      for (int i = 0; i<nums.length;i++){
          sum += nums[i];
      }
      System.out.println(sum);
      return sum;
  }

}

·注意事項和使用細節

VarParameterDetail.java

1)可變引數的實參可以為0個或任意多個。

2)可變引數的實參可以為陣列。

3)可變引數的本質就是陣列

 

4)可變引數可以和普通型別的引數一起放在形參列表,但必須保證可變引數在最後

5)一個形參列表中只能出現一個可變引數

 

·練習

VarParameterExercise.java

有三個方法,分別實現返回姓名和兩門課成績(總分),返回姓名和三門課成績(總分),返回姓名和五門課成績(總分)。

封裝成一個可變引數的方法 類名HspMethod方法名showScore