for循环
for循环,通过下标,对循环中的代码反复执行,功能强大,可以通过index取得元素。
foreach循环
foreach的书写格式:
for(元素类型 元素名称 : 遍历数组(集合)(或者能进行迭代的)){
语句
}
foreach虽然是for循环的简化版本,但是并不是说foreach就比for更好用,foreach适用于循环次数未知,或者计算循环次数比较麻烦情况下使用效率更高,但是更为复杂的一些循环还是需要用到for循环效率更高。
foreach,从头到尾,对于集合中的对象遍历。适用于简单的遍历。foreach使用的时候,会锁定集合的对象,期间不能进行修改。
使用的选择
foreach相对于for循环,代码减少了。在运行的时候效率低于for循环。当然了,在处理不确定循环次数的循环,或者循环次数需要计算的情况下。使用foreach比较方便。而且foreach的代码经过编译系统的代码优化后,和for循环的循环类似。
如果对集合中的值进行修改,就要用for循环了。其实foreach的内部原理其实也是Iterator,但它不能像Iterator一样可以人为的控制,而且也不能调用iterator.remove();更不能使用下标来访问每个元素,所以不能用于增加,删除等复杂的操作。
1、foreach常用在数组遍历上
2、用foreach的对象需要实现枚举接口,for就不用了;
3、foreach一般用来读的,For一般用来操作
4、foreach一次处理一个对象,for可以同时处理多个
5、for通常用于已知次数的循环;比如:循环输出10次Hello World
foreach通常用于遍历集合或者数组;比如:遍历List