A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马刘岩 中级黑马   /  2012-12-5 17:49  /  2007 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Properties prop=System.getProperties();
for(Object obj:prop.keyset()){
    String value=(String)prop.get(obj);
    System.out.println(obj+"::"+value);
}
有几个问题:
1。这里的for语句是循环语句吗?但是格式上不是用作循环的,应该是遍历用的吧?类似于foreach吧?
2.for后面括号里是什么意思?keyset()方法又是什么意思?
3.obj和value分别代表着什么?

8 个回复

倒序浏览
这是增强for循环,毕老师的视频和java加强中都有讲解,你可以看一下
回复 使用道具 举报
坚持远方 发表于 2012-12-5 17:56
这是增强for循环,毕老师的视频和java加强中都有讲解,你可以看一下

thank you!
回复 使用道具 举报
相当于foreach     只是格式不一样
回复 使用道具 举报
李百韬 发表于 2012-12-5 18:19
相当于foreach     只是格式不一样

两者有什么区别?什么时候用呢?
回复 使用道具 举报
Answer:
1.这里就是for each循环语句,是JavaSE 5.0之后增加的一种功能性很强的循环结果,可以用来依次处理数组中的每个元素而不必为指定下标值而分心。主要用来处理数组元素的遍历
2.for后面括号的意思是遍历prop,keyset()得到包含key值的集合,prop中存储的是 TreeMap<K,V>格式的数据;
3.obj就是prop代表的TreeMap的key,value就是那个key代表的具体数值。
具体请参照Java核心技术艺术中队集合类的详细讲解。
回复 使用道具 举报
黑马刘岩 发表于 2012-12-5 18:21
两者有什么区别?什么时候用呢?

java中foreach 就是for
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。

foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。

foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。

foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
     引用了x的java语句;
}
回复 使用道具 举报
李百韬 发表于 2012-12-5 18:30
java中foreach 就是for
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供 ...

非常感谢!
回复 使用道具 举报
魏秀盛 发表于 2012-12-5 18:26
Answer:
1.这里就是for each循环语句,是JavaSE 5.0之后增加的一种功能性很强的循环结果,可以用来依次处 ...

灰常感谢!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马