java再谈for
来源:互联网 发布:宜信大数据 待遇 编辑:程序博客网 时间:2024/06/05 01:51
一:使用的形式
1.遍历数组的传统方式
/* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int j = 0; j < integers.length; j++) { int i = integers[j]; System.out.println(i); }
2. 普通循环
for(;;)//空循环体无限循环
System.out.println("fds");
// 建立一个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);
}
3.而在Java语言的最新版本――J2SE 1.5中,引入了另一种形式的for循环。借助这种形式的for循环,现在可以用一种更简单地方式来进行遍历的工作。
遍历数组的简单方式
/* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ }
这里所用的for循环,会在编译期间被看成是这样的形式:
5:遍历数组集合的简单方式的等价代码
/* 建立一个数组 */ int[] integers = {1, 2, 3, 4}; /* 开始遍历 */ for (int 变量名甲 = 0; 变量名甲 < integers.length; 变量名甲++) { System.out.println(integers[变量名甲]); /* 依次输出“1”、“2”、“3”、“4” */ }
/* 建立一个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” */
}
6.允许修改状态
Random[] randoms = new Random[]{new Random(3), new Random(4), new Random(5)};
for (final Random r : randoms) {
//System.out.println();
r.setSeed(4); /*将所有Random对象设成使用相同的种子 *,本来上面初始化种子不一样
//返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 long 值。
/* 种子相同,结果也相同 */
System.out.println(r.nextLong());
}
循环变量的类型可以是要被遍历的对象中的元素的上级类型。例如,用int型的循环变量来遍历一个byte[]型的数组,用Object型的循环变量来遍历一个Collection< String>(全部元素都是String的Collection)等。
二: 类型相容问题
1.使用和被遍历的对象元素相同类型的循环变量
int[] integers = {1, 2, 3, 4}; for (int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ }
Collection< String> strings = new ArrayList< String>();strings.add("A");strings.add("B");strings.add("C");strings.add("D");for (String str : strings) {//这里的str不能是int型System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */}
2.循环变量的类型可以是要被遍历的对象中的元素的上级类型。例如,用int型的循环变量来遍历一个byte[]型的数组,用Object型的循环变量来遍历一个Collection< String>(全部元素都是String的Collection)等。byte[] integers = {1, 2, 3,4}; for (int i : integers) { System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */ }
Collection< String> strings = new ArrayList< String>(); strings.add("A"); strings.add("B"); strings.add("C"); strings.add("D"); for (Object str : strings) {//这里的str不能是int型 System.out.println(str); /* 依次输出“A”、“B”、“C”、“D” */ }
3.使用能和要被遍历的对象中的元素的类型之间自动转换的类型的循环变量
int[] integers = {1, 2, 3, 4};for (Integer i : integers) {System.out.println(i); /* 依次输出“1”、“2”、“3”、“4” */}
- java再谈for
- java for
- java for
- Java for
- java----for 与 for-each
- Java for loop syntax: java for(:)
- Sizeof for Java
- Sizeof for Java page1
- [JAVA]example for jfreechart
- fight for java
- MapXtreme for Java
- good website for java
- FCKeditor For Java/Jsp
- Closures for Java
- Collaborative Filtering for Java
- study for java
- Matlab Builder for Java
- JAVA FOR FLASH
- 大二见习长沙中电软件园
- 协程 及yield回顾
- Android相关
- javax.el.PropertyNotFoundException: Property 'cid' not found on type java.lang.String
- 长安大学第二届ACM程序设计竞赛校赛 题解
- java再谈for
- 线段树(单点更新+区间更新)
- 一个返回json对象的问题 key 为数字时 会默认从小到大进行排序
- 0428
- Unsafe--Java中Unsafe类详解
- windows10系统如何将系统语言由汉语改为英语
- 大数据之路
- 【编程题目】Pq.11--树的子结构
- spark sql scala 开发环境搭建 以及必要jar包导入