【www.gdgbn.com--js教程】

java for循环详细说明

import java.util.*;
public class enhancedfor{   
public static void main(string[] args){       
int[] arr = {1, 2, 3, 4, 5};       
for(int i:arr){           
system.out.println(i);       
}               
collection c = new arraylist();       
c.add(new string("aaa"));       
c.add(new string("bbb"));       
c.add(new string("ccc"));       
for(object o:c){           
system.out.println(o);      
}  
 }}


 

jdk1.5后才有的加强for。

缺点:对于数组,不能方便的访问下值

对于集合,与用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,如此循环,直至程序完全退出。
另外,关于i<=limit的问题,此即i小于或等于limit,不知道你的具体问题是什么,这个式子很好理解啊,比如,i=1,limit=2,则i<=limit成立,又如,i=3,limit=3,则i<=limit依然成立,而如果i=3,limit=2,则不成立。
i

本文来源:http://www.gdgbn.com/wangyezhizuo/28619/