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 import java.util.ArrayList;
    16 import java.util.List;
    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 }

 

猜你喜欢

转载自www.cnblogs.com/jyuri/p/12084084.html