JAVA中常见的循环有几种?
来源:互联网 发布:京东云服务器绑定域名 编辑:程序博客网 时间:2024/05/19 06:49
我常用到的共有6种,其它的循环体我就不知道,如果有请大家指点。
1、for循环
示例:
/** * 定义一个list集合 * 给list集合添加10个数据 */ List<String> list = new ArrayList<String>(); for(int i = 0; i < 10; i ++){ list.add("第"+(i+1)+"个数据"); } /** * For循环 */ for(int i = 0;i < list.size();i++){ System.out.println("for循环:"+list.get(0)); }
执行结果:
for循环:第1个数据for循环:第2个数据for循环:第3个数据for循环:第4个数据for循环:第5个数据for循环:第6个数据for循环:第7个数据for循环:第8个数据for循环:第9个数据for循环:第10个数据
2、增强FOR循环,注意,它与for循环的算法不同
示例:
/** * 增强For循环的使用方法 */ for(String string : list){ System.out.println("增强for循环:"+string); }
执行结果:
增强for循环:第1个数据增强for循环:第2个数据增强for循环:第3个数据增强for循环:第4个数据增强for循环:第5个数据增强for循环:第6个数据增强for循环:第7个数据增强for循环:第8个数据增强for循环:第9个数据增强for循环:第10个数据
增强for有缺点,示例代码如下:
/** * 增强For循环的缺点:在循环时,不能对目标数据添加元素,会出现并发问题 */ for(String string:list){ if("第6个数据".equals(string)){ list.add(10, string); } System.out.println("增强for循环在执行时,目标数据不能添加元素:"+string); }
执行结果如下 :
增强for循环在执行时,目标数据不能添加元素:第1个数据增强for循环在执行时,目标数据不能添加元素:第2个数据增强for循环在执行时,目标数据不能添加元素:第3个数据增强for循环在执行时,目标数据不能添加元素:第4个数据增强for循环在执行时,目标数据不能添加元素:第5个数据增强for循环在执行时,目标数据不能添加元素:第6个数据Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at project1.ForDemo.main(ForDemo.java:43)
3、迭代器
示例代码如下:
/** * 迭代器循环 */ Iterator<String> iterator = list.iterator(); while(iterator.hasNext()){ System.out.println("迭代器循环:"+iterator.next()); }
执行结果:
迭代器循环:第1个数据迭代器循环:第2个数据迭代器循环:第3个数据迭代器循环:第4个数据迭代器循环:第5个数据迭代器循环:第6个数据迭代器循环:第7个数据迭代器循环:第8个数据迭代器循环:第9个数据迭代器循环:第10个数据
注意:迭代器在使用时与增强for循环有相同的弊端
示例代码如下:
/** * 迭代器在进行循环时,目标数据无法直接更改,要通过迭代器的方法才可以,否则也会出现并发问题 */ Iterator<String> iterator1 = list.iterator(); while(iterator1.hasNext()){ String val = iterator1.next(); if("第2个数据".equals(val)) list.add("有第二个数据"); System.out.println("迭代器循环:"+val); }
结果如下 :
迭代器循环:第1个数据Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at project1.ForDemo.main(ForDemo.java:67)迭代器循环:第2个数据
4、while循环
示例代码如下 :
/** * while循环 * 注意:使用前要注意判断list不能为null */ int i = 0; while (i < list.size()) { System.out.println("wile循环: "+list.get(i)); i++; }
结果如下 :
wile循环: 第1个数据wile循环: 第2个数据wile循环: 第3个数据wile循环: 第4个数据wile循环: 第5个数据wile循环: 第6个数据wile循环: 第7个数据wile循环: 第8个数据wile循环: 第9个数据wile循环: 第10个数据
5、do…while循环
示例代码如下:
/** * do...while循环 * 注意:使用do...while循环时,要注意判断要循环的目标是否为空,是否有值存在 */ int i = 0; if(list != null && list.size() > 0){ i = 0; do{ System.out.println(list.get(i)); i++; }while(i < list.size()); }
执行结果如下:
第1个数据第2个数据第3个数据第4个数据第5个数据第6个数据第7个数据第8个数据第9个数据第10个数据
6、枚举的遍历方法,类似于迭代器
示例代码如下 :
Vector vector = new Vector<>(); for(int i = 0; i < 10; i++){ vector.add("vector的第"+(i+1)+"个数据"); } Enumeration enumeration = vector.elements(); while(enumeration.hasMoreElements()){ System.out.println(enumeration.nextElement()); }
执行结果:
vector的第1个数据vector的第2个数据vector的第3个数据vector的第4个数据vector的第5个数据vector的第6个数据vector的第7个数据vector的第8个数据vector的第9个数据vector的第10个数据
0 0
- JAVA中常见的循环有几种?
- VBScript 中常见的几种循环
- 关于JAVA中使用remove方法循环删除list中元素的常见误区
- java常见集合的循环输出方式
- java 中循环的使用
- Java中常见的异常
- Java中常见的异常
- Java中常见的异常
- Java中常见的异常
- Java中常见的异常
- Java中常见的异常
- JAVA 中 常见的缩写
- JAVA 中 常见的缩写
- java中常见的异常
- java中常见的异常
- Java中常见的问题
- Java中常见的坑
- JAVA中常见的RuntimeException
- 【设计模式】六大原则
- 下拉框增加查询条件
- 文件搜索命令
- Android setTag 使用
- 微信小程序返回功能
- JAVA中常见的循环有几种?
- 5月记
- 朴素贝叶斯分类器
- Linux学习三——DNS设置
- display: -webkit-box; 盒模型
- [RK3288][Android6.0] I2C默认传输速率及修改
- 会话用法 和留言板例题
- 设置listctrl 风格及扩展风格
- oracle导入导出数据的几种方式