黑马程序员技术交流社区

标题: for语句的用法 [打印本页]

作者: 黑马刘岩    时间: 2012-12-5 17:49
标题: for语句的用法
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分别代表着什么?
作者: 坚持远方    时间: 2012-12-5 17:56
这是增强for循环,毕老师的视频和java加强中都有讲解,你可以看一下
作者: 黑马刘岩    时间: 2012-12-5 18:09
坚持远方 发表于 2012-12-5 17:56
这是增强for循环,毕老师的视频和java加强中都有讲解,你可以看一下

thank you!
作者: 李百韬    时间: 2012-12-5 18:19
相当于foreach     只是格式不一样
作者: 黑马刘岩    时间: 2012-12-5 18:21
李百韬 发表于 2012-12-5 18:19
相当于foreach     只是格式不一样

两者有什么区别?什么时候用呢?
作者: 魏秀盛    时间: 2012-12-5 18:26
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:30
黑马刘岩 发表于 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 19:05
李百韬 发表于 2012-12-5 18:30
java中foreach 就是for
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供 ...

非常感谢!
作者: 黑马刘岩    时间: 2012-12-5 19:07
魏秀盛 发表于 2012-12-5 18:26
Answer:
1.这里就是for each循环语句,是JavaSE 5.0之后增加的一种功能性很强的循环结果,可以用来依次处 ...

灰常感谢!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2