黑马程序员技术交流社区
标题:
代码for( : )分析
[打印本页]
作者:
騛鹏
时间:
2013-3-21 16:50
标题:
代码for( : )分析
本帖最后由 騛鹏 于 2013-3-21 18:43 编辑
import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties prop = System.getProperties();
for (Object obj : prop.keySet())
{
String value = (String)prop.get(obj);
sop(obj+"..."+value);
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
复制代码
请求分析 增强for(:){} 中的代码 不是很理解 ?
作者:
VOIDMAIN
时间:
2013-3-21 17:44
增强for循环主要是用于遍历, for (Object obj : prop.keySet())就是把prop.keySet()中的每一个元素复制给Object obj对象,没赋值一次就执行以此{}内的方法;
作者:
戴乾刚
时间:
2013-3-21 17:46
代码中的for语句:
Object是集合中元素类型,obj是定义的一个Object类型引用变量,prop.keySet()是被遍历的集合
从集合中第一个元素开始遍历,遍历到某个元素时,引用变量obj就指向当前遍历到的元素
作者:
IT菜鸟
时间:
2013-3-21 17:58
Properties prop = System.getProperties(); 得到到的是系统参数。里面放的是键值对(相当于map)
prop.keySet() , 得到是一个键的set 的集合
for (Object obj : prop.keySet()) { // 遍历 键的集合
String value = (String)prop.get(obj); // 根据键,取得 参数值
sop(obj+"..."+value); //调用方法 打印出 键值对 ,键 和值之间 用 "...."分隔
}
作者:
syusikoku
时间:
2014-3-7 21:20
这是增强型的for语句。格式for(修饰符 数据类型 变量:数组或集合){} ,其实数组也是集合,这里的集合是要实现了Iterable的集合体,因为只有实现了Iterable的接口,它才可以被迭代,对象才可以调用Iterator方法。下面是我今天复习的代码,你可以研究分析一下:
private static int getVariableParaValue2(int i,int... args) {
int sum=i;
/**
* 我们这里来使用for的高级使用的方式来对数组进行遍历
* 格式如下:
for(修饰符 变量名:数组或集合){}
注意如果是集合的话要是实现iteraable的接口才行
因为iterable为一个接口,它的子类iterator是迭代器。
只有实现了该接口的集合才可以被迭代。对象才可以调用iterator()方法
只有实现了iterator的集合体才可以被迭代
*/
for(int arg:args){
sum+=arg;
}
return sum;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2