1.逗号操作符
for(int i = 0 , j = 1; i < 5 ; i++ , j++){ }
可以在for循环中定义多个变量,仅限for循环中使用
2.Foreach
java SE5 引入了更加简洁的for语法用于数组和容器,不用创建int变量去由访问项构成序列进行计数,foreach将自动产生每一项
int a = new a[3]; for(int i : a){ System.out.print(a[i]); } for(;;)和while(true) //无限循环
range()方法生成器,可以生成一定范围内的数组
range(10) //0-9
range(5,10) //5-9
range(5,20,2)// 5-20,以3为增量
3.return,break,continue
return
有两方面用途,一个是返回值,另一个导致当前方法退出,并返回那个值,return后的代码就不会在执行
如果void的方法中没有renturn,在该方法结尾处会有一个隐式的return,因此方法中并非必须要有return
break
退出循环
continue
退出本次循环,执行下一次循环
4标签
java中没有goto跳转,break和continue并不是跳转,只是中断迭代语句的一种方法。但是这三者都使用了相同的机制——标签
标签是后面跟着冒号的标识符 label1:
在java中,标签起作用的唯一的地方刚好是在迭代语句之前,“刚好之前”的意思表明,在标签和迭代之间置入任何语句都不好。而在迭代之前设置标签的唯一理由是:我们希望其中嵌套另外一个迭代或者一个开关。由于break和continue的关键词通常只中断当前循环,但是若随同标签一起使用,他们就会终端循环,直到标签所在的地方。
label1: out-iteration{ inner-iteration{ break; //中断并跳出内部循环到外部循环 continue;//跳出内部循环的本次循环,开始下一次循环 break label1; //中断并跳出所有的循环,跳转到label1处,并不在执行循环 continue label1; //跳出 本次内部和外部循环,跳转到label1处,并开始下一次外部循环 } }
java里需要使用标签的唯一理由就是因为有循环嵌套的存在,而且想从多层嵌套中break或者continue
5 switch
switch是实现多路选择的一种干净利落的方法,但是他需要一个选择因子,并且必须是int或者char,如果是字符串或者浮点型就不会工作。