您的位置:首页 > 编程语言 > Java开发

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

2013-10-25 21:56 417 查看
----------------------
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<a.length;i++){

System.out.println(a[i]);

}
}
}

/*

打印结果:

1

2

3

4

5

6

6

*/

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<String> al=new ArrayList<String>();

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培训、期待与您交流! ----------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: