日期:2014-05-20  浏览次数:20930 次

【讨论】这样是否能提高程序运行速度
假如有一个变量fileLeng存储文件长度,它可能很大,然后做如下循环:
for(int   i;i <fileLeng;i++){
        .......//进行读文件操作,fileLeng用来控制不会超出文件长度
}
假如我这样改写这个循环
try{
        for(;;){
                  .......//进行读文件操作,fileLeng用来控制不会超出文件长度
        }
}catch(EOFException   e){}
这样由于不对变量i进行自增和判断操作,会不会提高程序运行速度?



------解决方案--------------------
i++的执行速度可以忽略不计的,相比指针到头产生IO异常。这里的一次EOF异常开销比fileLen次的i++的总合还要大。