Controlling Execution

逗號操做符 java

逗號操做符在java中特殊之處在於兩個地方: this

1. 定義同種類型的變量時能夠這樣寫: spa

int i=10,j=20;//只有同種變量才行
2. 在for循環中的初始化條件和變化的步驟中對於同種類型的能夠鏈接:
for(int i=1,j=2;i<=3&&j<=6;i++,j+=2){//注意必須是同種類型,能夠用逗號鏈接任意多個,只要是同類型的
   System.out.println(i+" "+j);
}

foreach的Array和Collection的遍歷方式 code

對於Array和Collection類型,能夠經過foreach方式遍歷: it

List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<10;i++){
   	list.add(i);
}
for(int temp:list){//foreach的方式
	System.out.println(temp);
}

java中的相似goto的方式 io

java中有label,形式爲「label1:」。 for循環

label應該出如今循環前面,而且label和循環之間沒有任何代碼,不然會編譯出錯。 編譯

label1://後面和循環之間不能有任何代碼,不然出錯
for(;;){
	for(int i=1;i<100;i++){
		if(i%10==0){
			break label1;//當能整除10的時候跳出外層循環
		}
	}
}

循環應該是嵌套的,或者內層是個switch,這樣纔有意義。 class

label1:
for(int a=0;a<11;a++){
	switch(a){
	case 5:
		System.out.println(5);
		break label1;//由於到這一步時就會跳出for循環而不單單跳出break,因此只會打出一個5
	case 10:
		System.out.println(10);
		break;
	}
}

continue label 跳到一個label處,而後接着執行label後面的循環。 變量

break label跳到label後面的循環外面,終止label後的循環的執行。

java中的switch

java中的switch後面的變量應該是整型,即int或char,對於非整型能夠用enum來實現,enum能夠與switch完美配合。

switch特殊的default:

int a=7;
switch(a){
default:
	System.out.println("not 6 or 10");	
case 6:
	System.out.println(6);
	break;
case 10:
	System.out.println(10);
	break;

}

上面的代碼打出"not 6 or 10"和"6",default是沒有匹配時默認執行的,若是default放在上面則應加上break,不然直到第一個break爲止。

上面的代碼若是a改爲6,則default不會執行,只有匹配不到時纔會執行。

enum與switch一塊兒使用的例子:

enum PEOPLE{
    MALE("male"),FEMALE("female");
    private String str;
    private PEOPLE(String str){
        this.str = str;
    }
    public String toString(){//重寫父類的方法,調用System.out.println(enum)時會調用
        return "_"+str;
    }
}
switch(PEOPLE.MALE){
     case MALE:
     System.out.println(PEOPLE.MALE);//_male
     break;
     case FEMALE:
     System.out.println(PEOPLE.FEMALE);
     break;
     default:
     System.out.println("terrible"); 
}
相關文章
相關標籤/搜索