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"); 
}
相关文章
相关标签/搜索