android培训、 java培训、期待与您交流!
( 黑马程序员) API补充
增强for循环
格式:for(数据类型 变量名:被遍历的集合(collection)或者数组)
例子:
import java.util.*;
class forSearchDemo
{
public static void main(String[] args)
{
ArrayList<String> arr = new ArrayList<String> ();
arr.add("abc1");
arr.add("abc2");
arr.add("abc3");
//通过增强for去遍历
for(String s:arr)
{
System.out.println(s);
}
//通过Iterator去遍历
Iterator<String> it = arr.iterator();
while(it.hasNext())
{
System.out.println(it.next);
}
}
}
增强for和Iterator遍历的区别:前者只能对集合元素进行遍历获取,但是不能对集合进行操作。而Iterator除了遍历还可以进行Remove集合中元素的动作。如果使用的是ListIterator,还可以在遍历过程中对集合进行增删改查的动作。
传统for和高级for区别:高级for有一定的目标,即必须有被遍历的目标。在遍历数组时建议使用传统for。
方法的可变参数
方法的可变参数是数组作为参数的一个简写方式。其中的数组中的元素类型可以是int、integer等任何类型。
使用时注意:可变参数一定要定义在参数列表的最后面。
Code:
class ParamDemo
{
public static void main(String[] args)
{
show (3,4);//(1)
int[] arr ={1,3,5,7};//(2)
show( arr);
show("lvying",12,24,56);//(3)可以很方便的在其中进行添加需要多处理的int
show("lvying",12,24,56,35,7)
}
public static void show(int a,int b)//(1)如果需要多打印几个数字就需要在参数列表和方法调用时多添加不方便
{
System.out.print(a+";"+b);
}
public static void show(int[] arr)//(2)这种方式相对灵活,需要再多处理几个数字时需要重新建立一个数组
{
.......
//对这个数组进行处理
}
public static void show(String,int...arr)//(3)String不可以放在int...arr之后
{
...........
//对参数列表中数据进行处理
}
}
StaticImport静态导入
当类名重名时,需要指定具体的包名;当方法重名时,指定具体所属的对象或者类。
Code:
import java.util.*;
import java.util.Arrays.*;//导入Arrays这个类中所有的static成员
Class StaticImport
{
public static void main(String[] args)
{
int[] arr = {1,2,4,5,0,-9};
sort(arr);//因为前面导入Arrays类的静态成员,而其sort方法是静态的故可以如此简写
int index = binarySearch(arr,1);
s.o.p(Arrays.toString(arr));//因为arr隐式继承了Object,也就隐式继承了其toString方法,而导入Arrays后也有一个toString方导致无法分清用谁,故此处的Arrays.不可省略
}
}
注意:
System类中所有方法都是Static方法,故我们打印时就可以导入,然后仅写:out.println()。
---------------------- android培训、 java培训、期待与您交流! ---------------------- 详细请查看: http://edu.csdn.net/heima