逗号操做符 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"); }