【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