精华内容
下载资源
问答
  • 增强型For循环

    2016-01-09 20:05:37
    普通For循环:int [] a ={1,2,3,4,5}; for(int i=0;i;i++){ System.out.println(a[i]); }增强型For循环: for(int element : a){ System.out.println(element); }两者效果

    普通For循环:

    int [] a ={1,2,3,4,5};
            for(int i=0;i<a.length;i++){
                System.out.println(a[i]);
            }

    增强型For循环:

     for(int element : a){
                System.out.println(element);
            }

    两者效果是一样的,但是增强型For循环更简洁,使用更方便!
    例:遍历二维数组

    int[ ] [ ] arr = {{1,2,3},{4,5,6}{7,8,9}}
    for(int[ ]  row : arr){
       for(int element : row){
    System.out.println(element);
    }
    }
    
    ***********************************
    **遍历Arrylist**
    
    Arrylist<String>  arr = new Arrylist<String>();
    arr.add(“阿斯顿”);
    arr.add(“马丁”);
    for(String element : arr){
    System.out.println(element);
    }

    缺点:无法指定特定元素!!失去了索引!!!
    当遍历集合或数组时,如果需要访问集合或数组的下标,那么最好使用旧式的方式;来实现循环或遍历,而不要使用增强For循环,因为它丢失了下标信息!!

    据说写够10000000行代码就变成大神了!!!

    展开全文
  • Java中的增强型for循环

    万次阅读 多人点赞 2018-07-27 00:52:14
    增强型for循环定义如下: for(ElementType element: arrayName){}; 上述for循环可被读为:for each element in arrayName do {...} ------------------------------------------------------------------------...

    增强型for循环定义如下:

    for(ElementType element: arrayName){};
    

    上述for循环可被读为:for each element in arrayName do {...}

    -------------------------------------------------------------------------------------------------------------------------

    例1

    int[] num = {1,2,3,4,5,6};
    for(int i: num){
        System.out.print(i);
    }

     例2

    int[] num = {1,2,3,4,5,6};
    for(int i = 0; i < num.length; i++){
        System.out.print(num[i]);
    }

    例1是等价于例2的。(经评论区更正)

     

    同理可有:

    List<Integer> intList = new ArrayList<Integer>();
    for (Integer i: intList) {
        System.out.print(i);
    }

    -------------------------------------------------------------------------------------------------------------------------

    相对于for(;;)而言  增强for循环有两个好处:

    1.写起来简单

    2.遍历集合、容器简单

    展开全文
  • 增强型for循环

    2019-10-08 15:21:08
    简介   又叫foreach循环 foreach循环应用: int[] arr = {1,2,3,4,5}; for(int n:arr) System.out.println(n)    

    简介


     

    • 又叫foreach循环
    • foreach循环应用:
      • int[] arr = {1,2,3,4,5};
      • for(int n:arr)
      • System.out.println(n)

     
     

    展开全文
  • Java基础之增强型for循环

    万次阅读 多人点赞 2018-05-07 10:50:06
    增强型for循环语法:for(ElementTypeelement:arrayName){}; 增强for循环的原理 增强型for循环注意事项 增强型for循环语法:for(ElementTypeelement:arrayName){}; 举个例子:(1) int[]numArray={1,2,3,4,5,6}; ...

    目录

    增强型for循环语法:for(ElementType element:arrayName){};

    增强型for循环删除的问题


    增强型for循环语法:for(ElementType element:arrayName){};

    举个例子:(1)
    int[] numArray = { 1, 2, 3, 4, 5, 6 };
    for (int i : numArray) {
        System.out.print(i);
    }
    //结果会是123456 

    测试方法 

    public static void testFor() {
    
    	int [] array = {1,2,3};
    	for(int i : array){
    		System.out.println(i);
    	}
    	List list = new ArrayList();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	for(Object obj : list){
    		System.out.println(obj);
    	}
    
    	Map<String, String> map = new HashMap<>();
    	map.put("1", "1");
    	map.put("2", "2");
    	map.put("3", "3");
    	for (Map.Entry<String, String> stringStringEntry : map.entrySet()) {
    		System.out.println(stringStringEntry.getKey() + stringStringEntry.getValue());
    	}
    
    }

    使用idea查询编译后的class文件

    编译后的文件信息为

    public static void testFor() {
    	int[] array = new int[]{1, 2, 3};
    	int[] arr$ = array;
    	int len$ = array.length;
    
    	for(int i$ = 0; i$ < len$; ++i$) {
    		int i = arr$[i$];
    		System.out.println(i);
    	}
    
    	List list = new ArrayList();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	Iterator i$ = list.iterator();
    
    	while(i$.hasNext()) {
    		Object obj = i$.next();
    		System.out.println(obj);
    	}
    
    	Map<String, String> map = new HashMap();
    	map.put("1", "1");
    	map.put("2", "2");
    	map.put("3", "3");
    	Iterator i$ = map.entrySet().iterator();
    
    	while(i$.hasNext()) {
    		Entry<String, String> stringStringEntry = (Entry)i$.next();
    		System.out.println((String)stringStringEntry.getKey() + (String)stringStringEntry.getValue());
    	}
    
    }

    我们发现增强for循环遍历数组时使用的普通for循环,而遍历集合时使用的Iterator迭代器

    增强型for循环删除的问题

     测试Java代码

    public static void testFor() {
    
    	List list = new ArrayList();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	for(Object obj : list){
    		System.out.println(obj);
    		list.remove(obj);
    	}
    
    }

    编译后的class文件信息

    public static void testFor() {
    	List list = new ArrayList();
    	list.add(1);
    	list.add(2);
    	list.add(3);
    	Iterator i$ = list.iterator();
    
    	while(i$.hasNext()) {
    		Object obj = i$.next();
    		System.out.println(obj);
    		list.remove(obj);
    	}
    
    }

     执行后

    Exception in thread "main" java.util.ConcurrentModificationException
    	at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:859)
    	at java.util.ArrayList$Itr.next(ArrayList.java:831)
    	at com.test.controller.TestMain.testFor(TestMain.java:108)
    	at com.test.controller.TestMain.main(TestMain.java:23)

    解释说明:

    迭代器内部的每次遍历都会记录List内部的modcount当做预期值,然后在每次循环中用预期值与List的成员变量modCount作比较,但是普通list.remove调用的是List的remove,这时modcount++,但是iterator内记录的预期值=并没有变化,所以会报错。

    相关源码:

    java.util.ArrayList#fastRemove

    java.util.ArrayList.Itr#remove

    增强型for循环注意事项

    1. 在使用增强型for循环不支持遍历时删除元素
    2. 使用增强型for循环时,对遍历的集合需要做null判断,不然可能引发空指针异常。

     

    展开全文
  • 增强型for循环在遍历一个数组的时候会更加快捷 步骤 1 : 增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public static void main(String[] args) { int...
  • java增强型for循环和普通循环比较

    万次阅读 2016-09-30 15:17:44
    增强型for循环和普通循环比较:  (1)对于非集合类(没有实现 Iterable接口)的数组遍历,增强型for循环和普通循环遍历原理相同,效率相同  (2)对于集合类(实现了Iterable接口),增强型for循环的遍历其本质就是迭代...
  • 增量),然而大多数情况我们会用到增强型的for循环,它到底有什么优势呢,要了解这个我们首先要知道增强型for循环的格式:for(类型 变量名:数组或集合类) 它主要的优势就是体现在集合中,对于集合的遍历我们一般会...
  • 增强型for循环使用起来比较方便,代码也比较简单,如果只是操作集合中元素的而不使用索引的话,建议用此方法。 对于普通for循环,如果需要使用索引进行其它操作的话,建议用这个。 详细来说: 1、区别: 增强for循环...
  • JAVA的增强型for循环

    2019-07-07 19:55:56
    示例 1 : 增强型for循环 package cm.po; public class beifan { public static void main(String[] args) { int values [] = new int[]{18,62,68,82,65,9}; //常规遍历 for (int i = 0; i < values.length; i++) ...
  • AndroidStudio快速写增强型for循环

    千次阅读 2016-12-29 20:58:21
    那么在方法中就可以通过如下方式快速生成增强型for循环更多的快速生成代码可以查看settings–>Editor–>Live Templates AndroidStudio常用快捷键:http://mp.weixin.qq.com/s/jceYeOx-D-grq-mURZ9fBg+
  • 最近看到迭代附近了,一些数据结构,如列表,链表,集合等都喜欢使用迭代器来索引,我想主要是他们大多不基于下标,而且JAVA提供了迭代器对象。 for循环最简单了,属于counting loop,而while循环...增强型for循环用于
  • 有关增强型for循环的使用(详细)

    千次阅读 2021-01-24 11:26:10
    JDK1.5引进了一种新的循环类型,即增强型for循环,主要用于数组和集合 基本格式语法如下: for(type element: arrays) { System.out.println(element); } 其中type为arrays的类型(例如String,int,double,...
  • 本篇来学习Java的增强型For循环,也叫for-each循环。一般,我们遍历元素的时候,喜欢采用for循环。那么到底采用哪种for循环呢?主要是取决你的需求,如果你要对元素下标,也就是索引进行操作,那么选择传统的for循环...
  • 1、增强型for循环:我们最初开始接触的肯定是常规的for(变量;条件;变量改变)循环,但是随着我们深入的学习,我们发现for循环还有另外的形式for(类型 变量:数组或集合),这种形式我们称之为增强型for循环。下面我们...
  • ArrayList类的使用及迭代器增强型for循环ArrayList类的使用概念使用方法迭代器的使用概念迭代器的方法迭代器使用-遍历增强型for循环的使用与for循环的比较增强型for循环使用 ArrayList类的使用 概念 ArrayList类实现...
  • 增强型for循环,与for循环在代码上的差别!foreach循环是在JDK1.5之后,带来的新特性,其语法形式如下:for(类型 变量 :集合数据|数组){ //自动将数组内容设置给变量。 //好处:数组可以直接访问,避免索引访问...
  • 以前在 AndroidStudio 中写增强型 for 循环都是手写的,这个技巧也是偶然看郭神的公开课 get 到的,还是挺实用的哈(数组同理) 当然,更多的的关于快速生成代码可以查看settings–>Editor–>Live Templates,...
  • java增强型for循环 三种遍历集合方式

    千次阅读 2018-11-10 07:30:09
    java增强型for循环 三种遍历集合方式
  • 增强型for循环 用于输出数组元素,若要改变数组元素等操作还得使用数组下标 for( <数组数据类型><循环变量>:数组名>){       System.out.println(<循环变量>); } package ...
  • java-增强型for循环

    2019-01-23 10:10:29
    for(声明语句:表达式) { 代码语句 } 声明语句中的局部变量必须与表达式中的类型一致。 package control;...使用增强for循环&quot;); String[] fruits ={&quot;Apple&quot;,...
  • C++程序中增强型for循环编译报错

    千次阅读 2018-10-12 21:35:31
    在程序中使用增强型for循环遍历时,出现了报错: [Error] range-based 'for' loops are not allowed in C++98 mode,编译器提示for循环在C++98是不被允许。 #include &lt;iostream&gt; #include &lt;...
  • 其实,从JDK1.5开始,又引入了一种增强型for循环,这种新型的for循环主要是用来遍历数组或集合的,它的格式非常简单,下图展示了增强型for循环的基本结构: 增强型for循环被设计出来就是为了遍历数组或者是集合的...
  • mvn compile的时候,报 mvn -source 1.3中不支持增强型 for循环 解决办法在pom.xml当中加入如下内容 org.apache.maven.plugins maven-compiler-plugin 1.5 1.5
  • 增强型for循环 和普通for循环一样。 增强型for循环 优点主要体现在集合中,比如对 set 的遍历、对List的遍历、对数组的遍历。。。 随便举个例子:Set set = new HashSet(); Iterator it = set.iterator(); ...
  • 一、格式 二、示例 1、打印数组元素 2、打印二维数组元素 3、打印字符串元素 4、打印一个集合ArrayList中的元素 三、限制条件 当遍历集合或数组时,如果...总结:增强型For循环不是功能上增强了,是代码简化了。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 41,489
精华内容 16,595
关键字:

增强型for循环