站点微信订阅号zhengjinyibu,欢迎大家搜索关注.
http://blog.csdn.net/zhtzyh2012/article/details/46675065
循环提供特殊机会将变量作用域最小化.(无论传统for,还foreach).for循环,都允许声明循环变量,它们的作用域被限定在正好的作用范围之内.(范围包括循环体,以及循环体之前的初始化,测试,更新).如果循环终止之后不再需要循环变量内容,for循环优于while循环.
几乎每个局部变量的声明都应该包含一个初始化表达式.如果没有足够信息来对一个变量进行有意义的初始化,就应该推迟这个声明,直到可以初始化为止.例外情况是与try..catch有关.
for循环比while循环另外优势:更简短,增加可读性.
1 2 3 4 5 6 7 8 9 10
| public static void main(String[] args) { Class<?>cl = null; try{ cl= Class.forName(args[0]); }catch (ClassNotFoundException e){ System.err.println("Classnot find"); System.exit(1); }
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| package book.effectiveJava;
import java.util.ArrayList; import java.util.Iterator; import java.util.List;
public class e_45MinimizeVariableScope {
public static void main(String[] args) { List<String> t1=new ArrayList<>(); t1.add("1"); t1.add("2"); t1.add("3");
for(String str : t1){ System.out.println(str); }
for(Iterator<String> stringIterator = t1.iterator();stringIterator.hasNext();){ String str = stringIterator.next(); System.out.println(str); }
Iterator<String> stringIterator=t1.iterator(); while(stringIterator.hasNext()){ System.out.println(stringIterator.next()); }
System.out.println("继续访问stringIterator:"+ stringIterator);
} }
|
本文内容仅作为作者个人兴趣与观点,不代表所在公司及团队的观点和决策。若有不恰当之处,请联系站长.