一、for(;;)
1. 無限循環(huán)
無限循環(huán)在上篇提到,有for(;;)和while(true)兩種,
還有一種是for(;true;),應(yīng)該都會(huì)使用,這個(gè)不做解釋。
【轉(zhuǎn)】for(;;)和while(true)的區(qū)別
2.常用循環(huán)方法
這個(gè)不多做解釋,代碼如下:
public class ForDemo1 {
public static void main(String[] args) {
int[] arr = {1, 2, 4, 5};
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
3.兩個(gè)條件變量的循環(huán)
代碼如下:
public class ForDemo2 {
public static void main(String[] args) {
for (int i=0, j=0;i<2&& j<3;i++,j++) {
System.out.println("hello world");
}
}
}
運(yùn)行結(jié)果是輸出兩次hello world 。
有興趣的可以把i<2&&j<3改為i<2&j<3看看結(jié)果會(huì)是什么?
二、for(:)
先上代碼:
public class ForDemo3 {
public static void main(String[] args) {
int[] a = {2, 3, 4, 5, 6};
for (int i : a) {
System.out.println(i);
}
}
}
for(int i:a)解釋是:先設(shè)置一個(gè)與a數(shù)組里的元素相同的變量,這個(gè)變量先等于a數(shù)組的第一個(gè)元素,然后進(jìn)入循環(huán)體,第二次循環(huán)就等于a數(shù)組的第二個(gè)元素,進(jìn)入循環(huán)體,以此類推。
三、while嵌套for循環(huán)
while循環(huán)也就不說了吧,就展示一下while嵌套for循環(huán),代碼如下:
ublic class WhileDemo {
public static void main(String[] args) {
int a=1;
while(a<9){
if (a==3){
System.out.println(a);
break;
}else {
System.out.println(a);
}
a++;
}
}
}
這個(gè)運(yùn)行結(jié)果是1 2 3,看不懂還是去Debug看一下a的值是如何變化的。
四、遍歷Collection對(duì)象的方式
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
public class ForDemo4 {
public static void main(String[] args) {
String[] a = {"A", "B", "C", "D"};
Collection stringList = Arrays.asList(a);
for(Iterator i = stringList.iterator(); i.hasNext();){
Object j = i.next();
System.out.println(j);
}
}
}
java.util.Collection 是一個(gè)集合接口(集合類的一個(gè)頂級(jí)接口)。它提供了對(duì)集合對(duì)象進(jìn)行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實(shí)現(xiàn)。Collection接口的意義是為各種具體的集合提供了最大化的統(tǒng)一操作方式。其中Iterator就是這個(gè)接口中的一種方法,學(xué)java的人都熟悉,叫迭代器,i.hasNext()方法返回值是boolean類型,若為true則表示迭代器下一個(gè)有值,否則表示迭代完成;i.next()返回值是一個(gè)object類型,表示取出迭代器下一個(gè)值并賦值給“=”之前。所以就能夠給for循環(huán)提供循環(huán)的條件了。
還有一個(gè)嵌套for循環(huán)在后面數(shù)組再說吧。