jdk 1.5新特性——可变参数、Foreach

---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------

17,可变参数、增强for(Foreach语句)

17.1可以参数

jdk1.5新特性可变参数,实际就是接收数组中的元素,在内部完成了对元素进行数组的封装,简化了书写。

可变参数的格式:

权限修饰符 返回值类型 函数名(参数类型...变量名{  方法体;}

如:

public class Demo {

 

   public static void main(String[] args) {

      show(1,2,3,4,5,6,6);  

   }

   public static void show(int...a){

      for(int i=0;i

1,可变参数,实际就是把参数列表中接收到的实际参数,进行了内部数组的封装,可变参数实际就是一个数组。

2,注意:当一个函数中,还有其他参数时,可变参数列表,必须放在最后面,否则会被可变参数列表全部添加进去。

如:

public class Demo {
   public static void main(String[] args) {

      show(1,2,3,4,5);//3,4,5被可变参数接收     

   }
   public static void show(int a,int b,int...c){//当函数中还有其他参数时,可变参数要放在参数列表最后面。

      System.out.println("a+b="+(a+b));

         for (int i = 0; i < c.length; i++) {

         System.out.println(c[i]);
      }
   }
}

/*

 * 打印结果:

a+b=3

3

4

5

*/

3,可变参数可以直接接收与其类型相匹配的数组。

如:

public class Demo {
  public static void main(String[] args) {

      int []arr={2,3,4,5,6};

      show(arr);//直接把数组传给可变参数。

   }
   public static void show(int...arr){

      for (int i = 0; i < arr.length; i++) {

         System.out.println(arr[i]);
      }
   }
}

/*

 * 打印结果:

2

3

4

5

6

*/

17.2 Foreach语句

格式:

 for(类型 变量:数组或Collection集合){

      操作变量的代码;

}

Foreach语句也是JDK 1.5的新特性,该语句可以对数组和Collection集合进行元素的遍历和取出操作。

如:对集合进行遍历

public class ForEachDemo {
   public static void main(String[] args) {

      ArrayList al=new ArrayList();

      al.add("abc1");

      al.add("abc2");

      al.add("abc3");

      al.add("abc4");

      for (String str:al) {

         System.out.println(str);
      }
   }
}

/*

打印结果:

abc1

abc2

abc3

abc4

*/

如:对数组进行遍历

public class ForEachDemo {
   public static void main(String[] args) {

      int []arr={1,2,3,4,5};

      for (int num:arr) {

         System.out.println("num="+num);
      }
   }
}

/*

 * 打印结果:

num=1

num=2

num=3

num=4

num=5

*/

注意:Foreach语句,只能对数组和Collection集合进行操作

Foreach和传统for语句有什么区别?

1,传统for语句可以控制循环的次数和条件,且可以对数组的角标进行操作,完成对数组和集合中元素的操作。

2,Foreach语句,不能控制循环次数和条件,只能完成对数组和Collection集合中元素的操作。

总结:如果只是单纯的对数组或Collection中的元素进行遍历,可以使用Foreach语句,如果要控制循环的次数和条件或者操作数组的角标,则需要使用传统for语句。

 

---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------

你可能感兴趣的:(jdk 1.5新特性——可变参数、Foreach)