class ForTest2 { public static void main(String[] args) { //用for来体现。 int sum = 0; for(int x=0; x<=10; x ) { sum = x; } System.out.println("for sum = " sum); } } package com.test.For_Each; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class ForTest { public static void main(String args[]) { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8}; /** * 新式写法 */ for (int a : arr) System.out.println(a); /** * 旧式写法 */ for (int i = 0; i < arr.length; i ) System.out.println(arr[i]); String arr2[] = {"好","流","哦","!!"}; for(String a2 : arr2) System.out.println(a2); int arr3[][] = {{1,2,3},{4,5,6,},{7,8,9}}; for(int a31[] : arr3) { for(int a32 : a31) { System.out.println(a32); } System.out.println(); } List list = new ArrayList(); list.add("好"); list.add("流"); list.add("哦"); list.add("!!"); /** * 根据集合类长度遍历 */ for(int i=0;i { System.out.println(list.get(i)); } /** * 根据迭代器遍历 */ for(Iterator i = list.iterator();i.hasNext();) { System.out.println(i.next()); } /** * 根据新式for-each遍历 */ for(String element : list) System.out.println(element); } } 对于集合,与用iterator相比,不能方便的删除集合中的内容(其实在内部也是调用iterator) 除了简单遍历并读取其中内容外,不建议使用增强for。 程序流程大概是这样的,先定义两个long型变量limit,factoritl,并附了初值,然后执行for循环,把程序的格式写清楚一点,可以很明了的看懂:
代码如下 | 复制代码 | for(int i=1; i<=limit; i ){ factoritl = 1; for(int factor=2; factor<=i; factor ){ factoritl *= factor; system.out.println(i "i=is" factoritl); } } 外层for,先定义一个变量i并附初值1,然后检查i是否小于等于limit,成立则进入循环体,执行factoritl=1;然后执行下一个for循环,先给factor附初值2,然后检查factor是否小于等于i,若成立,则进入内层for,执行factoritl *= factor; 并且打印,for内部程序执行完成之后,执行factor ,然后再检查factor<=i是否成立,若成立,继续执行for内部程序,若不成立,则退出for循环体,继续执行下一行代码,在这个例子中,推出内部for后即继续执行外部循环的比较操作,然后再执行内部for,如此循环,直至程序完全退出 |
|