1,静态导入(一般不建议使用): import static java.lang.System.out;->在程序中就可以直接用out.println(...); import static java.util.Array.*;->sort(int[]);[本来是要import java.util.Arrays;arrays.sort(int [])的] 2,自动装箱,拆箱:在jdk1.5出现 3,增强for循环(foreach):只适用于数组,或者实现Iterable接口的类上 注意:增强for只适用于取出数据,修改数据还是要用传统的for循环 案例public void test(){ int[] a={1,2,3}; for(int e:a){//将数据赋给e,这里并不会改变数组的值 e=10; System.out.println(e);//10 10 10 } for(int i=0;i<a.length;i++) System.out.println(a[i]); // 1 2 3 } 增强for在HashMap的运用 HashMap<Integer, String> hm=new HashMap<Integer, String>(); hm.put(1,"a"); hm.put(2,"b"); hm.put(3,"c"); -----传统1: Set<Integer> k=hm.keySet(); Iterator<Integer> it=k.iterator(); while(it.hasNext()){ System.out.println(hm.get(it.next())); } ******使用增强for for(Integer e:hm.keySet()){ System.out.println(hm.get(e)); } -----传统二 Set<Entry<Integer, String>> k=hm.entrySet();//通过Hash.entrySet()->封装成entry(key,value)的形式到Set Iterator<Entry<Integer, String>> it=k.iterator(); while(it.hasNext()){ Entry<Integer, String> entry=it.next(); System.out.println(entry.getKey()); System.out.println(entry.getValue()); } ******使用增强for for(Entry<Integer,String> e:hm.entrySet()){ System.out.println(e.getKey()); System.out.println(e.getValue()); } 可变参数: @Test public void test(){ sum(1,2,3,4);//10 int[] a={1,2,3,4,5}; sum(a);//15 sum2(1,2,3,4); } public void sum(int ...nums){//可以将可变参数看做数组 int sum=0; for(int e:nums){ sum+=e; } System.out.println(sum); } public void sum2(int a,int...nums){ } 在使用可变参数的时候,应该看参数是什么类型,如Arrays.asList(T(对象)...a); int []num={1,2,3}; List list=Arrays.asList(num); System.out.println(list);//这样是不行的,这个意思是把这个数组看做对象放了,应该讲int改为Integer 这样输出的是[1,2,3];
增强for循环与静态导入
最新推荐文章于 2022-06-17 11:44:48 发布