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培训、期待与您交流! ----------------------