精华内容
下载资源
问答
  • java增强for循环语法
    2021-03-07 08:56:07

    项目封板问题多,

    检查检讨认过错,

    工期太短没处说,

    新人不会我来做。

    --------------------打油诗分割线--------------------

    增强型for循环:

    就是常说的foreach循环,语法大致如下

    for(ElementType element:arrayName){};

    我们分别测试下数组和Arraylist下,代码编译后的情况:

    数组增强型for循环:int [] array = {1,2,3,4};

    for(int i: array){

    System.out.println(i);

    }

    编译后的class文件:int[] array = new int[]{1, 2, 3, 4};

    int[] arr$ = array;

    int len$ = array.length;

    for(int i$ = 0; i$ < len$; ++i$) {

    int i = arr$[i$];

    System.out.println(i);

    }

    这就是个普通的for循环语句。

    ArrayList型增强for循环:

    List list = new ArrayList();

    list.add(“a”);

    list.add(“b”);

    for(Object obj : list){

    System.out.println(obj);

    }

    编译后的class文件:List list = new ArrayList();

    list.add(“a”);

    list.add(“b”);

    Iterator i$ = list.iterator();

    while(i$.hasNext()) {

    Object obj = i$.next();

    System.out.println(obj);

    }

    如上面代码所示,增强for循环遍历数组时使用的普通for循环,而遍历集合时使用的该集合的Iterator迭代器。

    增强型for循环注意事项

    1.和迭代器使用一样,在使用增强型for循环不支持遍历时删除元素或新增元素,不然就fail-fast失败。

    2.使用增强型for循环时,对遍历的集合需要做null判断,不然可能引发空指针异常

    更多相关内容
  • Java增强 for 循环

    2022-06-22 17:58:14
    Java增强for循环

    Java 增强 for 循环

    Java5 所引入的一种主要用于数组的增强型for循环。(可用来遍历数组)

    Java 增强for循环语法如下:

    for(声明语句 : 表达式)
    {
    	//代码句子
    }
    

    声明语句:
    声明新的局部变量,该变量的类型必须和数组元素的类型匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。

    表达式:

    表达式是要访问的数组名,或者是返回值为数组的方法。

    Java文件代码:

    public class Test {
       public static void main(String[] args){
          int [] numbers = {10, 20, 30, 40, 50};
     
          for(int x : numbers ){
             System.out.print( x );
             System.out.print(",");
          }
          System.out.print("\n");
          String [] names ={"James", "Larry", "Tom", "Lacy"};
          for( String name : names ) {
             System.out.print( name );
             System.out.print(",");
          }
       }
    }
    

    在这里插入图片描述

    创建类,并创建出该类的数组,再用增强for循环遍历出

    创建类Employee(其子类:SalariedEmployee,HourlyEmployee,SalesEmployee,BasePlusSalesEmployee),并在Test2中创建一个Employee 数组,分别创建若干不同的Employee子类对象,通过使用Java增强for循环来遍历打印出来。

    package two;
    
    public class Test2 {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Employee[] em = new Employee[4];//创建一个Employee 数组em
    		em[0]=new SalariedEmployee("张三",5,5000);//创建一个子类的对象
    		em[1]=new HourlyEmployee("李四",3,30,172);
    		em[2]=new SalesEmployee("王五",4,10000,0.3);
    		em[3]=new BasePlusSalesEmployee("王二",5,20000,0.03,5000);
    		for(Employee e:em) {
    			System.out.println(e.getName()+"的5月工资:"+e.getSalary(5)+"元");		
    		}
    
    	}
    
    }
    
    

    在这里插入图片描述

    展开全文
  • 增强的for循环是在传统的for循环中增加的强大的迭代功能的循环,是在jdk1.5之后提出来的。下面这篇文章主要给大家介绍了关于Java增强for循环的实现原理和坑的相关资料,需要的朋友可以参考下
  • foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。
  • Java for循环增强

    2021-12-13 22:12:32
    java5引进了一种主要用于数组和集合的增强for循环。我们这里先做了解就可以。 增强for循环语句如下: for(声明语句:表达式){ //代码句子 } 注解:声明语句:声明新的局部变量,该变量的类型必须和数组...

    java5引进了一种主要用于数组和集合的增强型for循环。我们这里先做了解就可以。

    增强型for循环语句如下:

    for(声明语句:表达式){

    //代码句子

    }

     注解:声明语句:声明新的局部变量,该变量的类型必须和数组类型的变量匹配,其作用域限定在循环语句块,其值与此时的数组元素的值相等。

    表达式:表达式是要访问的数组名,或者返回值为数组的方法。

    例:

     总结:这个现在至是迁出来给大家看看掌掌眼的,了解就可以,之后走到数组就会通透了。

    展开全文
  • 增强型的for循环 和普通for循环一样 增强型的for循环 优点主要体现在集合中,随便举个例子 比如对 set 的遍历 一般是迭代遍历
  • Java增强for循环总结

    千次阅读 2021-02-26 10:19:36
    1 增强for循环增强for循环是for的一种新用法!用来循环遍历数组和集合。1.1 增强for的语法for(元素类型 e : 数组或集合对象) {}例如:int[] arr = {1,2,3};for(int i : arr) {System.out.println(i);}增强for的...

    1 增强for循环

    增强for循环是for的一种新用法!用来循环遍历数组和集合。

    1.1 增强for的语法

    for(元素类型 e : 数组或集合对象) {

    }

    例如:

    int[] arr = {1,2,3};

    for(int i : arr) {

    System.out.println(i);

    }

    增强for的冒号左边是定义变量,右边必须是数组或集合类型。例如上例中循环遍历的主浊arr这个int数组,增强for内部会依次把arr中的元素赋给变量i。

    1.2 增强for的优缺点

    只能从头到尾的遍历数组或集合,而不能只遍历部分;

    在遍历List或数组时,不能获取当前元素下标;

    增强for使用便简单,这是它唯一的优点了;

    增强for比使用迭代器方便一点!

    1.3 增强for原理

    其实增强for内部是使用迭代器完成的!也就是说,任何实现了Iterable接口的对象都可以被增强for循环遍历!这也是为什么增强for可以循环遍历集合的原因(Collection是Iterable的子接口)。

    但要注意,Map并没有实现Iterable接口,所以你不能直接使用增强for来遍历它!

    1 Map map = new HashMap();2 map.put("1", "one");3 map.put("2", "two");4 map.put("3", "three");5

    6 for(String key : map.keySet() ) {7 String value =map.get(key);8 System.out.println(key + "=" +value);9 }

    map.keySet()循环遍历map的所有键,map.keySet()返回的是Set类型,而Set是可以被增强for遍历的。

    一:传统的for循环和增强for循环的比较

    1 //传统的数组遍历

    2 String[] persons={"张三","李四","王五"};3 for(int i=0;i

    7 String[] persons={"张三","李四","王五"};8 for(String person:persons){9 System.out.println(person);10

    11 //传统的Iterator遍历集合

    12 List persons=new ArrayList();13 persons.add("张三");14 persons.add("李四");15 persons.add("王五");16 for(Iterator i=persons.iterator();i.hasNext();){17 String person=i.next();18 System.out.println(person);19 }20 //使用增强For循环遍历集合

    21 List persons=new ArrayList();22 persons.add("张三");23 persons.add("李四");24 persons.add("王五");25 for(String person:persons){26 System.out.println(person);27 }

    可以看到使用增强for循环使得代码变得短小而精炼的多,如果你觉得这点变化还体现不出来,可以忍受,那你可以试试嵌套for循环,就会感觉到增强for循环的好处了,这里就不贴代码了。

    二:定制自己的增强for循环

    众所周知,增强for循环是按数组或者集合的内在顺序输出的,如果我们想在遍历的时候定制行为怎么做呢?下面就以一个逆序输出的例子说明怎么定制自己的增强for循环。

    要想使用增强for循环,必须实现Iterable接口。

    ReverIterableClass.java

    1 importjava.util.Iterator;2

    3 /**

    4 * 一个简单的逆序输出增强for循环5 */

    6 public class ReverIterableClass implements Iterable{7 protectedT[] elements;8 publicReverIterableClass(T... elems) {9 this.elements=elems;10 }11 public Iteratoriterator() {12 return new Iterator(){13 private int current=elements.length-1;14 public booleanhasNext() {15 return current>-1;16 }17

    18 publicT next() {19 return elements[current--];20 }21

    22 public voidremove() {23 throw new UnsupportedOperationException("目前不支持删除操作");24 }25 };26 }27 public static voidmain(String[] args){28 ReverIterableClass iterableClass=new ReverIterableClass("a","b","c","d");29 for(String s:iterableClass){30 System.out.println(s);31 }32 }33 }

    在这个程序里我们定制了自己的输出行为--逆序输出,当然你也可以定义属于你自己的,只需要在next()函数里写处理代码即可。

    三:增强for循环的局限性

    不能在增强for循环中访问位置,例如下面的代码:

    String[] persons={"张三","李四","王五"};for(int i=0;i

    System.out.println(i+":"+persons[i]);

    }

    在增强for循环中你是得不到这个位置"i"的。

    例如还有我们常用的在组合sql语句,select字段的时候,当是最后一个字段时,不能加","的。

    1 String[] fields={"name","age","sex"};2 StringBuilder sql=new StringBuilder("select ");3 for(int i=0;i

    这在增强for循环中也是不能处理的。。

    还有对元素的删除,在增强for循环中也不能做到,但是使用传统的Iterator接口遍历时就可以使用他的remove()方法删除符合条件的元素。

    四:小结

    增强for循环有它的好处,比如简洁,代码优雅,如果能使用增强for循环,一定要优先使用。

    展开全文
  • 第三天Java学习笔记,流程控制05——循环结构(for、增强for循环),笔记根据学习进度更新。 回首向来萧瑟处,归去,也无风雨也无晴。——苏轼《定风波》
  • 下面小编就为大家带来一篇浅谈java 增强型的for循环 for each。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • for循环 for语句是一种支持迭代的一种通用语句,是最有效,最灵活的一种循环结构 for循环执行的次数是在执行前就确定的。语法格式如下: for(初始值;布尔表达式;更新){ //代码语句 } 快捷键: 输入 数字.for ...
  • 增强for循环更有效率有点过分简单。它可以是,但在许多情况下,它几乎完全一样的老校园循环。首先需要注意的是,对于集合,增强的for循环使用了一个迭代器,所以如果你使用迭代器手动迭代一个集合,那么你应该具有...
  • Java中的增强for循环

    千次阅读 2021-10-11 15:43:02
    增强for循环定义如下: for(ElementType element: arrayName){}; 例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 <...
  • 缺点:对于数组,不能方便...除了简单遍历并读取其中的内容外,不建议使用增强for循环。一、遍历数组语法为:for (Type value : array) {expression value;}//以前我们这样写:void someFunction (){int[] array = ...
  • 刷题时想用增强for循环来给初始数组赋值,结果发现了问题。所以记录学习一下增强for循环的用法。 1. 增强for循环 增强for循环是for的一种新用法!用来循环遍历数组和集合。 2. 语法 for (元素类型 e : 数组或...
  • Java 增强for循环语法格式如下: for (声明语句 : 表达式) { // 代码句子 } 我们创建一个 ForDemo05 演示增强for循环 声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配;其作用域限定再循环语句...
  • 增强for循环 先做了解,之后数组我们会重点使用,因为增强for循环...Java增强for循环语法格式如下: for(声明语句 : 表达式){ //代码语句 } 示例: public class ForDemo{ public static void main(String[] args)
  • java中的增强for循环

    2022-02-12 16:14:21
    /*增强for循环 * 语法格式: * for(元素类型 变量名: 数组或集合) { * System.out.println(变量名); * } * 缺点:没有下标,在需要使用下标的循环中不建议使用*/ public class ForEachTest01 { public static void ...
  • java1.5版本引入了一个增强for循环,基本原理和for循环类似。语法声明:for(表达式:条件表达式)举例:for (String str : set)解释:set代表set集合,str代表set集合中存放的类型。代码示例如下:Set set = new ...
  • Java增强for循环语法: for(声明语句:表达式){ // 代码语句 } 运行机制 增强for循环与数组或者集合息息相关,我们先来聊聊数组,我们的主函数(main) 后面的括号内都有一个String[] args,其实这就是一个...
  • 详解Java中list,set,map的遍历与增强for循环Java集合类可分为三大块,分别是从Collection接口延伸出的List、Set和以键值对形式作存储的Map类型集合。关于增强for循环,需要注意的是,使用增强for循环无法访问数组下...
  • Java 增强 for 循环语法格式如下; for(声明语句 : 表达式) { //代码句子 } 声明语句:声明新的局部变量,该变量的类型必须和数组元素匹配。其作用域限定在循环语句块,其值与此时数组元素的值相等。 表达式...
  • for循环是支持迭代的一种通用结构,是最有效,最有效最灵活的循环结构 for循环执行的次数是在执行前就决定的。语法如下: for (初始值;布尔表达式;更新){ } package demo2; public class demo1 { public...
  • 1:遍历数组语法:for (Type value : array) {expression value;}例子:void Sum(){int[] array = {1,2,5,8,9};int sum= 0;for (int n : array){sum+= n;}缺点:对于数组,难以访问下标值;2:遍历集合语法:for (Type ...
  • java循环结构for

    2022-05-09 22:14:19
    文章目录For循环增强for循环 For循环 虽然所有循环结构都可以用while或者do…while表示,但Java提供了另一种语句一for循环,使一些循环结构变得更加简单。 for循环语句是支持迭代的一种通用结构,是最有效、最...
  • 增强for循环的用法

    千次阅读 2020-09-06 17:20:00
    一、增强for循环 增强for循环的作用:简化迭代器的书写格式。...增强for循环的缺点:增强for循环和iterator遍历的效果是一样的,也就说增强for循环的内部也就是调用iteratoer实现的,但是增强for循环有些缺点,例...
  • Java语法-增强for循环

    2020-11-04 16:49:32
    1、使用 增强for循环 的格式是什么? 增强for循环: for(集合/数组的数据类型 变量名 : 集合名/数组名){ } 。 2、增强for循环的原理是什么? for循环底层也是迭代器; Collections<> extends Iterable<&...
  • Java基础之增强for循环

    万次阅读 多人点赞 2018-05-07 10:50:06
    目录 增强型for循环语法:for...增强for循环的原理 增强型for循环注意事项 增强型for循环语法:for(ElementTypeelement:arrayName){}; 举个例子:(1) int[]numArray={1,2,3,4,5,6}; for(inti:numArray...
  • JAVA中,遍历集合和数组一般有以下三种形式:for (int i = 0; i < list.size(); i++) {System.out.print(list.get(i) + ",");}Iterator iterator = list.iterator();while (iterator.hasNext()) {System.out....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,997
精华内容 12,398
关键字:

java增强for循环语法