foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思,那么到底怎么使用 foreach 语句呢?
语法:
for( 元素类型 元素变量: 遍历对象 ){
执行的代码
}
我们分别使用for和for增强循环来遍历数组:
public static void main(Strings[] args){
//定义一个字符串数组
String[] hobbys = {"love", "study", "submit"};
System.out.println("使用for循环输出数组中的元素:");
for(int i = 0; i < hobbys.length; i ++){
System.out.println(hobbys[i]);
}
System.out.println("使用for增强循环输出数组中的元素:");
for(String hobby : hobbys){
System.out.println(hobby);
}
}
如果想在 foreach 语句中获取数组元素的下标,该如何做呢?
import java.util.Arrays;
public class HelloWorld{
public static void main(String[] args){
String[] hobbys = { "sports", "game", "movie" };
int x=0;
for(String hobby:hobbys){
System.out.println(hobby);
x++;
System.out.println("数组下标为:" +(x-1));
}
}
}
运行结果如下:
sports
数组下标为:0
game
数组下标为:1
movie
数组下标为:2
其实没有什么意义。因为foreach本来就是为了解决下标问题而出现的,就是说很多时候不许要通过下标(索引)来进行遍历所以才使用foreach,如果要用到索引,那就乖乖用for或者while就好了。