????????Java中有三種主要的循環結構:
- while?循環
- do…while?循環
- for?循環
1、while循環
1.1、結構
while( 布爾表達式 ) { //循環內容 }
?1.2、實例
public class TestWhile {public static void main(String[] args) {int x= 1;while (x<=10){System.out.println("value of x:" + x);x++;}}
}結果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
2、do…while 循環
2.1、結構
do { //代碼語句 }while(布爾表達式);
?2.2、實例
public class TestDoWhile {public static void main(String[] args) {int x= 1;do {System.out.println("value of x:" + x);x++;}while (x<=10);}
}
結果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
3、for循環
3.1、結構
for(初始化; 布爾表達式; 更新) {
? ? //代碼語句
}
3.2、實例
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);}}
}
執行結果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
4、增強 for 循環
????????JDK 1.5 引進了一種新的循環類型,被稱為 For-Each 循環或者加強型循環,它能在不使用下標的情況下遍歷數組。
4.1、結構
for(type element: array)
{
? ? System.out.println(element);
}
4.2、實例
public class TestForStrong {public static void main(String[] args) {int[] number = {1,2,3,4,5};for (int x : number){System.out.println("value of x:"+x);}}
}
執行結果:
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
5、?Iterator(迭代器)
5.1、結構
- Java迭代器(Iterator)是 Java 集合框架中的一種機制,是一種用于遍歷集合(如列表、集合和映射等)的接口。
- 它提供了一種統一的方式來訪問集合中的元素,而不需要了解底層集合的具體實現細節。
- Java Iterator(迭代器)不是一個集合,它是一種用于訪問集合的方法,可用于迭代ArrayList和HashSet等集合。
- Iterator 是 Java 迭代器最簡單的實現,ListIterator 是 Collection API 中的接口, 它擴展了 Iterator 接口。
5.2、方法
常用的是以下三個:
-
next()?- 返回迭代器的下一個元素,并將迭代器的指針移到下一個位置。
-
hasNext()?- 用于判斷集合中是否還有下一個元素可以訪問。
-
remove()?- 從集合中刪除迭代器最后訪問的元素(可選操作)。
5.3、實例
public class TestIterator {public static void main(String[] args) {// 創建集合List<String> list = new ArrayList<String>();list.add("張三");list.add("李四");list.add("王五");System.out.println("list:"+list);// 獲取迭代器Iterator<String> it = list.iterator();// 輸出集合while (it.hasNext()){String next = it.next();System.out.println(next);//刪除元素if (next.equals("張三")){it.remove();}}System.out.println("list:"+list);}
}
執行結果:
list:[張三, 李四, 王五]
張三
李四
王五
list:[李四, 王五]
?6、循環控制
6.1、break
break 主要用在循環語句或者 switch 語句中,用來跳出整個語句塊。
break 跳出最里層的循環,并且繼續執行該循環下面的語句。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {System.out.println("value of x:"+ i);if (i == 5){break;}}}
}
執行結果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:5
6.2、continue
- continue 適用于任何循環控制結構中。作用是讓程序立刻跳轉到下一次循環的迭代。
- 在 for 循環中,continue 語句使程序立即跳轉到更新語句。
- 在 while 或者 do…while 循環中,程序立即跳轉到布爾表達式的判斷語句。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i == 5){continue;}System.out.println("value of x:"+ i);}}
}
執行結果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4
value of x:6
value of x:7
value of x:8
value of x:9
value of x:10
6.3、return
????????return并不是專門用來結束循環的關鍵字,它可以用來結束一個方法或循環。當一個方法執行到return語句時,該方法就會被結束。與break和continue不同的是,return是直接結束整個方法,不管這個return處在多少層的循環之內。
public class TestFor {public static void main(String[] args) {for (int i = 0; i <= 10; i++) {if (i == 5){return;}System.out.println("value of x:"+ i);}}
}
執行結果:
value of x:0
value of x:1
value of x:2
value of x:3
value of x:4