黑马程序员技术交流社区

标题: for()增强,可以用它来写排序吗 [打印本页]

作者: ID1003    时间: 2014-5-18 17:21
标题: for()增强,可以用它来写排序吗
本帖最后由 ID1003 于 2014-5-19 21:08 编辑

今天学到了for()的增强,可以简化书写,但是在同时,想到了排序的方法,这个方式如何书写排序呢?不知道有没有大神可以帮忙一下。
作者: mayor125    时间: 2014-5-18 18:03
由于排序需求操作数组的角标,虽然高级for循环简化了书写,但是也存在了局限性,那就是不能操作角标,而且也必须要有被遍历的目标。

所以开发当中还是建议使用传统for进行遍历。当然,排序操作最好也是用传统for循环了。
作者: 波涛    时间: 2014-5-18 18:12

不知道你说的是不是for each型的循环。foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
所以有些for循环是没法写成等效的for each语句的。

For-Each循环的一般格式就可以看到其应用范围了,如下:

  1. for(数据类型 变量 : 集合)

  2.   语句块
复制代码
在for关键字后面的花括号里先是集合的数据类型,接着是一个元素用于进行操作,它代表了当前访问的集合元素,然后是一个冒号,最后是要访问的集合。



作者: ID1003    时间: 2014-5-18 18:15
波涛 发表于 2014-5-18 18:12
不知道你说的是不是for each型的循环。foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为 ...

这种方法叫做for each吗?看来我还是接触的东西太少了
作者: 黄晓鑫    时间: 2014-5-18 18:52
答案是可以的 搞一个变量 然后对遍历到的元素进行较量 但是只有一种方法可以。
如果是搞一个变量,记住的是角标 那么就不行,如果是一个元素,那是可以的。
作者: 李东梁    时间: 2014-5-18 19:18
不可以,对角标操作不能使用foreach
作者: ID1003    时间: 2014-5-18 20:56
虽然大家辛苦的回答了好多答案,但是愚笨的我还是不太明白,不过只要记住,只要是用到角标了,就不用这个for增强就对了。




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