2019独角兽企业重金招聘Python工程师标准>>>
逗号操作符
逗号操作符在java中特殊之处在于两个地方:
1. 定义同种类型的变量时可以这样写:
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的遍历方式
对于Array和Collection类型,可以通过foreach方式遍历:
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的方式
java中有label,形式为“label1:”。
label应该出现在循环前面,并且label和循环之间没有任何代码,否则会编译出错。
label1://后面和循环之间不能有任何代码,否则出错
for(;;){for(int i=1;i<100;i++){if(i%10==0){break label1;//当能整除10的时候跳出外层循环}}
}
循环应该是嵌套的,或者内层是个switch,这样才有意义。
label1:
for(int a=0;a<11;a++){switch(a){case 5:System.out.println(5);break label1;//因为到这一步时就会跳出for循环而不仅仅跳出break,所以只会打出一个5case 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);//_malebreak;case FEMALE:System.out.println(PEOPLE.FEMALE);break;default:System.out.println("terrible");
}