第十六课时
笔记 1.泛型(Generic)
2.For-Each循环
3.自动装包/拆包(Autoboxing/unboxing)
4.枚举(Enums)
5.可变参数(Varargs)
6.静态导入(Static Imports)
7.注释(annotation)
for-each的语法是 int[] is = {2,3,5,1,6,4}; for(int i:is){}
可变参数的语法(String ... ss)
(int i,String... ss) 可变参数一定要在参数的最后一位,否则就是编译错误
如下例子
package t16;
import java.util.*;
public class ForEachSample{
public static void main(String[] args){
ArrayList<String> arr = new ArrayList<String>()
arr.add("aaa");
arr.add("bbb");
arr.add("ccc");
int[] is = {2,3,5,1,6,4};
/************************迭代collection的方式***********************/
Iterator<String>it = arr.iterator();
while(it.hasNext()){
String s = it.next();
it.remove();
}
/**********************遍历数组的方式************************/
for(int i=0;i<is.length;i++){
System.out.println(is[i]);
}
/************************for-each***************************/
/*for(int i=0;i<arr.size();i++){
String s = arr.get(i);
}*/
for(String s : arr){
System.out.println("for each:" + s);
}
System.out.println("------------------");
for(int i:is){
System.out.println("for each:"+i);
}
}
}
package t16;
public class VarSample{
public static void main(String[] args){
m1("hello");//调用一个字符串参数的方法
m1("hello1","hello2");//调用两个参数的方法
m1("a","b","c","d","e");//调用...的
}
public static void m1(String s1){
System.out.println("m1(String) : "+s1);
}
public static void m1(String s1,String s2){
System.out.println("m1(String,String) : "+s1);
System.out.println("m1(String,String) : "+s2);
}
public static void m1(String ... ss){
for(String s : ss){
System.out.println("m1(String...) : " + s);
}
}
//public static void m1(String... ss,int i){编译错误,可变参数一定要在参数的最后一位
public static void m1(int i,String... ss){
}
}
package a16;
public class VarSample{
public static void method1(String s1){
System.out.println("this method1...");
}
public static void method2(String s1,String s2){
System.out.println("this method2...");
}
public static void method3(String s1,String s2,String i){
System.out.println("this method3...");
}
public static void method4(String...s){
//如果用了for-each循环那么,main方法中的打印都是用methods4,除了不是String参数的
for(String ss:s){
System.out.println("this...method4...:"+ss);
}
}
//如果又多个类型的参数的时候,可变参数一定要放在最后面
public static void method5(int w,String...s){
System.out.println("this is method5...");
}
public static void method6(String s,int m){
System.out.println("this is method6...");
}
/*
不允许这样用
public static void method7(int...i,String...s){
System.out.println("this method7...");
}
*/
public static void main(String[] args){
method1("ccc");
method2("aaa","ssss");
System.out.println("-----------------------------");
VarSample v=new VarSample();
v.method3("d","ff","g");
System.out.println("-----------------------------");
method3("a","f","e");
System.out.println("--*******************---------");
v.method4("a","f","e","a","f","e");
method5(1,"d");
v.method6("d",7);
}
}