for(int a:i)在java 编程中是什么意思
public void testArrayLooping(PrintStream out) throws IOException {
int[] primes = new int[] { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 };
// Print the primes out using a for/in loop
for (int n : primes) {
out.println(n);
}
}
就是对数组的循环查询。for/in循环的结构为:
for(
声明:
表达式)
语句
声明 是一个变量,例如 Object listElement。这个变量应该有自己的类型,这样,它就可以与将遍历的列表、数组或集合中的每一个项兼容。在清单 2 的例子中, list 包含一些对象,因此这些对象就是 listElement 的类型。
表达式 就是一个表达式。它计算的结果应当是可以遍历的(后面再详加介绍)。在现在,只要保证 表达式 计算的结果是一个集合或者数组就可以了。表达式可以简单到就是一个变量(如清单 2 所示)或者是一个方法调用(例如 getList()),亦或是包含布尔逻辑或三目运算符的复杂表达式。只要它返回一个数组或集合,就一切 OK。
语句 代表循环的内容,它对 声明 中定义的变量进行操作;当然,这是一个循环,所以 语句 将应用到数组中集合的每个项目上。而且,使用大括号( { 和 })时,还能使用多条语句。
其用法如下:创建一个变量,指向要遍历的数组或集合,然后对定义的变量进行操作。不用对列表中的每个项目进行赋值,因为 for/in 替您处理了这件事。当然,如果您还觉得不太清楚,没关系,继续读下去,有大量的示例让您足够清楚这个事件。
但是,在进行下一步之前,我想用更加符合规范的方式说明 for/in 的工作方式。清单 4 显示了在提供通用化类型时,实际发挥作用的 for/in 循环。以下是编译器把该循环转换成普通的 for 循环之后,语句实际看起来的样子。
您明白了吗?编译器实际上把这个更短、更方便的 for/in 语句变成了一个更加编译器友好的 for 循环,而且您不会受到这项工作的影响。这就是为什么我认为它方便,而不仅仅说它更简短的原因
遍历数组,就和for(int i = 0;i < a.length; i++){} 是一个意思。
这种有冒号的for循环叫做foreach循环,foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
示例代码:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (String x : list) {
System.out.println(x);
}
Object s[] = list.toArray();
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}
for循环是编程语言中一种开界的循环语句,而循环语句 由循环体及循环的终止条件两部分组成,for循环其在各种编程语言中的实现与表达有所出入,但基本为以C语言和pascal语言代表的两种形式。
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
示例代码:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (String x : list) {
System.out.println(x);
}
Object s[] = list.toArray();
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}
上面的是foreach型数组,下面的是一般数组,但是作用一样。
public class ShuZu {
public static void main(String[] args)
int i[]= {2,5,6,7,8,9};
for (int j = 0; j < i.length; j++) { //这个是一般数组,数组的下标是j,从0开始到5.
System.out.print(i[j]+" ,"); //这是将每次循环的值,也就是相应下标所对应的值打 印出来。
}
=================================
for (int j:i) { //这里i 是数组,j不是下标了,j是来接受每一个数组i遍历出来的值的。
System.out.print(j+", ");
// System.out.print(i[j]+", "); 这种写法是错误的,因为j不是下标值,而是每个下标 值所对应的数组中的元素。
}
}
}
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
引用了x的java语句;
}
示例代码:
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
for (String x : list) {
System.out.println(x);
}
Object s[] = list.toArray();
for (Object x : s) {
System.out.println(x.toString()); //逐个输出数组元素的值
}