静态导入
Import static 包名.类名.静态属性|静态方法|*
静态导入语句使用import static 语句
导入指定类的单个静态属性:
import static java.lang.System.out
导入指定类静态方法
import static java.lang.Math.max
导入指定类全部静态属性和方法
importstatic java.lang.Math.*
自动装箱/拆箱
自动装箱(autoboxing):把一个基本数据类型直接赋给对应的包装类变量, 或者赋给 Object 变量
自动拆箱:把包装类对象直接赋给一个对应的基本类型变量
int m=9
System.out.println(“m”+m);
自动装箱
Integer n=m;
System.out.println(“n”+n);
自动拆箱
Int k=n;
System.out.println(“k”+k);
典型应用:
List list = new ArrayList();
list.add(1);
int j = (Integer)list.get(0);
增强for循环
引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦!
因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterator接口的集合类上
使用 foreach 循环遍历数组和集合元素时, 无须获得数组和集合长度, 无须根据索引来访问数组元素和集合元素, foreach 循环自动遍历数组和集合的每个元素
语法格式:
for ( type 变量名:集合变量名 ) { … }
for(type varName : array | collection){
//varName 自动迭代访问每一个元素
}
@Test
public void test(){
List<String> list=new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
for(String str:list){
System.out.println(str);
}
}
@Test
public void testMap(){
Map map=new LinkedHashMap();
map.put("1","aaa");
map.put("2","bbb");
map.put("3","ccc");
for(Object obj:map.entrySet()){
Map.Entry me=(Map.Entry)obj;
System.out.println(me.getKey()+"="+me.getValue());
}
}
public void test5(){
int[] arr=new int[5];
for(int num:arr){
System.out.println(num);
}
System.out.println(arr[0]);
}
}