一、循環
1、while(布爾表達式){ }//只要表達式爲true,就會循環下去
2、do{ }while(布爾表達式)//先執行語句,然後判斷是否滿足條件,爲true則循環
3、for(初始化;布爾表達式;更新循環變量){ }
4、增強型for循環,for(聲明變量:數組/集合){ }
二、switch
switch(expression){
case value :
//語句
break; //可選
case value :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
//語句
}
注:1、switch中的變量支持byte、short、int、 char、String
2、case 標籤必須爲字符串常量或字面量
3、case語句間必須使用break,避免穿透
三、enum
常用方法:
int compareTo(E o);比較此枚舉與指定對象的順序。
Class<E> getDeclaringClass()返回與此枚舉常量的枚舉類型相對應的 Class 對象。
int ordinal()返回枚舉常量的序數(它在枚舉聲明中的位置,其中初始常量序數爲零)。
static T<T extends Enum> valueOf(String name)返回帶指定名稱的指定枚舉類型的枚舉常量。
說明:1、可以把enum當成class來理解,當使用enum關鍵字時,編譯器便會生成一個繼承java.lang.Enum的子類。
2、enum的構造方法只能使用private
3、枚舉不能有finalize()方法
例:
public class Test12 {
enum Test10 {
dengyao(2,2,3),dengbian(2,2,2),budeng(2,3,4);
Test10(int a,int b,int c){
this.zuo = a;
this.you = b;
this.di = c;
}
private int zuo;
private int you;
private int di;
public String toString(){
return super.toString()+ "("+ zuo+"," + you +","+ di+")";
}
}
enum Test11{
A(Test10.dengbian),B(Test10.dengyao),C(Test10.dengyao);
private Test10 test10;
Test11(Test10 test10){
this.test10 = test10;
}
public String toString(){
return super.toString() + "……" + test10;
}
}
public static void main(String args[]){
System.out.println(Test10.budeng);
System.out.println(Test11.A);
System.out.println(Test11.valueOf("A"));
System.out.println(Test11.valueOf(Test11.class,Test11.A.name()));//這個方法和上面的方法具有相同的效果,上面的是編譯器提供的,這個是Enum自己的方法
Test11 a[] = Test11.values();//編譯器爲我們添加的靜態的values()方法
for(Test11 test11 : a){
System.out.println(test11);
}
}
}