JAVA中的for循环几种使用方法讲解
一般写法
1.遍历数组的传统方式
1 2 3 4 5 6 7 | /* 建立一个数组 */ int [] integers={ 1 , 2 , 3 , 4 }; /* 开始遍历 */ for ( int j= 0 ;j<integers.length;j++){ int i = integers[j]; System.out.println(i); } |
2.遍历Collection对象的传统方式
1 2 3 4 5 6 7 8 | /* 建立一个Collection */ String[] strings = { "A" , "B" , "C" , "D" }; Collection stringList = java.util.Arrays.asList(strings); /* 开始遍历 */ for (Iterator itr = stringList.iterator(); itr.hasNext();) { Object str = itr.next(); System.out.println(str); } |
第二种写法
for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体
3.遍历数组的简单方式
1 2 3 4 5 6 | /* 建立一个数组 */ int [] integers = { 1 , 2 , 3 , 4 }; /* 开始遍历 */ for ( int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ } |
遍历数组的简单方式的等价代码
1 2 3 4 5 6 | /* 建立一个数组 */ int [] integers = { 1 , 2 , 3 , 4 }; /* 开始遍历 */ for ( int 变量名甲 = 0 ; 变量名甲 < integers.length; 变量名甲++) { System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */ } |
4.遍历Collection的简单方式
1 2 3 4 5 6 7 | /* 建立一个Collection */ String[] strings = { "A" , "B" , "C" , "D" }; Collection list = java.util.Arrays.asList(strings); /* 开始遍历 */ for (Object str : list) { System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */ } |
遍历数组的简单方式的等价代码
1 2 3 4 5 6 7 8 | /* 建立一个Collection */ String[] strings = { "A" , "B" , "C" , "D" }; Collection stringList = java.util.Arrays.asList(strings); /* 开始遍历 */ for (Iterator 变量名乙 = list.iterator(); 变量名乙.hasNext();) { Object str = 变量名乙.next(); System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */ } |
防止在循环体里修改循环变量
5.禁止重新赋值
1 2 3 4 | int [] integers = { 1 , 2 , 3 , 4 }; for ( final int i : integers) { i = i / 2 ; /* 编译时出错 */ } |
这只是禁止了对循环变量进行重新赋值。给循环变量的属性赋值,或者调用能让循环变量的内容变化的方法,是不被禁止的。
6.允许修改状态
1 2 3 4 5 | Random[] randoms = new Random[]{ new Random( 1 ), new Random( 2 ), new Random( 3 )}; for ( final Random r : randoms) { r.setSeed( 4 ); /* 将所有Random对象设成使用相同的种子 */ System.out.println(r.nextLong()); /* 种子相同,第一个结果也相同 */ } |
类型相容问题
7.使用和要被遍历的数组中的元素相同类型的循环变量
1 2 3 4 | int [] integers = { 1 , 2 , 3 , 4 }; for ( int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ } |
8.使用和要被遍历的Collection中的元素相同类型的循环变量
1 2 3 4 5 6 7 8 | Collection< String> strings = new ArrayList< String>(); strings.add( "A" ); strings.add( "B" ); strings.add( "C" ); strings.add( "D" ); for (String str : strings) { System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */ } |
循环变量的类型可以是要被遍历的对象中的元素的上级类型。 例如,用int型的循环变量来遍历一个byte[]型的数组,用Object型的循环变量来遍历一个Collection< String>(全部元素都是String的Collection)等。
9.使用要被遍历的对象中的元素的上级类型的循环变量
1 2 3 4 5 | String[] strings = { "A" , "B" , "C" , "D" }; Collection< String> list = java.util.Arrays.asList(strings); for (Object str : list) { System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */ } |
10.使用能和要被遍历的对象中的元素的类型自动转换的类型的循环变量
1 2 3 4 | int [] integers = { 1 , 2 , 3 , 4 }; for (Integer i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ } |
注意,这里说的“元素的类型”,是由要被遍历的对象的决定的――如果它是一个Object[]型的数组,那么元素的类型就是Object,即使里面装的都是String对象也是如此。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
微信公众号搜索 “ 脚本之家 ” ,选择关注
程序猿的那些事、送书等活动等着你
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 reterry123@163.com 进行投诉反馈,一经查实,立即处理!
相关文章
详解Java基础篇--面向对象1(构造方法,static、this关键字)
这篇文章主要介绍了Java基础篇--面向对象1(构造方法,static、this关键字),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-04-04Java中使用LocalDate根据日期来计算年龄的实现方法
这篇文章主要介绍了Java中使用LocalDate根据日期来计算年龄的实现方法,需要的朋友可以参考下2018-01-01
最新评论