黑马程序员技术交流社区

标题: 枚举与迭代 [打印本页]

作者: ^.^晴天    时间: 2012-5-18 00:53
标题: 枚举与迭代
枚举和迭代有什么具体区别?
作者: 彩虹    时间: 2012-5-18 09:57
      枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标
      迭代是重复地与自身复合的方法,调用迭代方法,可避免做重复性操作,让程序在执行时。,每次都从变量的原值得到一个新值。简化了程序的结构,使其执行效率更高。
       二者的联系不是很大,枚举可以看成是一个取有效特定值的类,适合用在引用一些生活中固定不变的对象,例如:月份,星期,交通灯等。而迭代则是解决运算问题的一种算法,更多时候当做方法被调用,用于解决一些有重复性的事,例如:算n!
作者: 韩慧阳    时间: 2012-5-18 10:54
随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。例如:性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。  在其它程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。也就是说,事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。——书中的介绍,很清楚了。
迭代如果你不理解你可以从算法的角度理解下。在算法中有一种迭代算法,意思就是通过前两个已知值来推出后面的值。比如基数数列:
f(n)=f(n-1)+2;f(1)=1,那么可以推出后面的值3,5,7,9。。。。。   JAVA中的迭代方法很类似,就是通过it.hasNext()来判断时候有下一个元素,然后通过it.next()来获取下一个元素。   总之就是通过上一个获取下一个,这就是迭代的思想。    不断通过已知的新元素获取下一个未知元素,这是一种思路。




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