JAVA中for循環語句的應用


for循環語句

  • 普通for循環

    1 for(初始化; 布爾表達式; 更新變化條件){
    2 //循環執行的內容
    3 }
    //例子
    1 for(int i=0; i<20;i++){
    2 System.out.println(i);
    3 }
    • “初始化”一般是初始化一個變量,只執行一次,也可以是空語句

    • 判斷布爾表達式,如果為true,則執行循環內容,為false則終止循環

    • “更新變化條件”執行循環內容,更新循環控制變量

    • 再次檢測布爾表達式,如果為true,賊執行循環內容,為false則終止循環

  • 增強for循環

    • 增強的for循環是在傳統的for循環中增加的強大的迭代功能的循環,是在jdk1.5之后提出來的

    • 引入增強for循環的原因:在JDK5以前的版本中,遍歷數組或集合中的元素,需要先獲得數組的長度或集合的迭代器,比較麻煩。

      JDK5中定義了一種新的語法----增強for循環,以簡化此類操作。增強for循環只能用在數組或實現Iterable接口的集合上。

     1 for(聲明變量量類型:被遍歷的集合(collection)或者數組){
     2 //循環內容
     3 }
     4 import java.util.ArrayList;
     5 import java.util.List;
     6  7 ...
     8  9 // 增強for循環
    10 int[] num = {1,2,3,4,5,6};
    11 for(int i: num){
    12     System.out.print(i);
    13 }
    14 15 17 18 //迭代增強for循環
    19 public class ForTest01 {
    20 21     public static void main(String[] args) {
    22         List<String> list = new ArrayList<>();
    23         list.add("a");
    24         list.add("b");
    25         list.add("c");
    26         list.add("d");
    27 28 //增強for循環,優點是可以簡化遍歷
    29     for(String s : list){
    30        System.out.println(s);
    31       }
    32   }
    33 }
    • 聲明變量類型是局部變量量,該變量的類型必須和集合或者數組元素的類型一致

    • 在JAVA中,遍歷集合和數組一般有以下三種形式:

      • 第一種是普通的for循環遍歷、第二種是使用迭代器進行遍歷,第三種我們一般稱之為增強for循環(for each

     1 for (int i = 0; i < list.size(); i++) { 
     2     System.out.println(list.get(i) ); 
     3 }   
     4  5 Iterator iterator = list.iterator(); 
     6 while (iterator.hasNext()) {  
     7     System.out.println(iterator.next());
     8 }   
     9 10 for (Integer i : list) {  
    11     System.out.println(i);
    12 }

     

  • 集合框架中的三種迭代方式刪除數據 1.普通for循環,可以刪除,注意讓索引做自減運算 2.迭代器,可以刪除,但是必須使用迭代器自身的remove方法,否則會出現並發修改異常 3.增強for循環不能刪除

 1 import java.util.ArrayList;
 2 import java.util.Iterator;
 3 import java.util.List;
 4  5 // 集合框架中的三種迭代方式刪除數據
 6  
 7 public class ForTest02 {
 8  9     public static void main(String[] args) {
10         List<String> list = new ArrayList<>();
11         list.add("a");
12         list.add("b");
13         list.add("b");
14         list.add("c");
15         list.add("d");
16 17 //1,普通for循環刪除,索引做自減運算
18         for(int i = 0; i < list.size(); i++) {
19             if("b".equals(list.get(i))) {
20                 list.remove(i);        
21                 i--;
22             }
23         }
24 25 //2,迭代器刪除
26         for(ListIterator<String> iter = list.listIterator(); iter.hasNext();){
27             if("b".equals(iter.next())) {
28                 iter.remove();
29             }
30         }
31 //3,增強for循環不能刪除,ConcurrentModificationException
32         for (String string : list) {
33             if("b".equals(string)) {
34                 list.remove("b");
35             }
36         }
37         System.out.println(list);
38     }
39 }

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM