Java 基础 15 可变参数

 

                         方法的可变参数

  • jdk2.5开始,java支持传递同类型的可变参数给一个方法。

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

  • 说明: 1. 可变参数:方法参数部分指定类型 的参数个数是可变多个

                2 . 声明方式:方法名(参数的类型名 ... 参数名)

                3. 可变参数的方法的使用与方法参数部分使用数组是一致的

                4. 方法的参数部分有可变形参,需要放在形参声明的后面。

                5.(如果一个方法有多个形参,可变的形参(... 这种的参数)一定要放在所有参数最后

                6. 注意:Java特有的可变参数也可以用数组传递参数

  • 数组的方法和可变个数的方法区别:1. 数组:如果没有参数,就要定义一个空数组或者null。

                                                                    2 .可变数:如果没有参数就可以不填,这种可变参数 ... 代表可以传递0-多个参数。


public class Main
{
   public static void printmax(double... nubers)
  {
       if (nubers.length==0)
      {
           System.out.println("No argwnt passed");
           return;
      }
       double resulst=nubers[0];
       for (int i = 0; i < nubers.length; i++)
      {
           if (nubers[i]>resulst)
          {
               resulst=nubers[i];
          }
      }
       System.out.println(resulst);
  }
   public static void main(String[] args)
  {
       //double nubers;
       printmax(4,5,7);

  }
}
public class  Show_public
{
   public static void main(String[] args)
  {
       Person1 pe=new Person1();

       //可变数:用数组形参来传递可变数的参数
       String [] ar=new String [] {"zhansan","11"};
       int [] ars=new int [] {3,44,457,46};
       pe.printinfo(ar, ars);

       // 可变数:用java特有的...的方式来传递可变个数的参数,这种参数的使用时与数组的使用方式相同
       pe.printinfo1("lisi","36","男");
  }
}
class Person1
{
   /**
    * 用数组的方式来传递可变参数
    * @param area
    * @param areas
    */

   //可变参数数组传递
   public void printinfo(String area [],int areas [])
  {
       for (int i = 0; i < area.length; i++)
      {
           System.out.println(area[i]);
      }
       for (int i= 0; i < areas.length; i++)
      {
           System.out.println(areas[i]);
      }
  }

  // 可变参数来传递
   public void printinfo1(String... area)
  {
       for (int i = 0; i < area.length; i++)
      {
           System.out.println(area[i]);
      }
  }
}

 

 

 

 

posted @ 2022-04-15 20:26  zjw_rp  阅读(121)  评论(0)    收藏  举报