/*
* 循环1:循环int数组方法一
*/
int[] i = {1,2,3,4,5};
for (int j = 0; j < i.length; j++) {
int it = i[j];
Log.i("md", "循环1打印结果:"+it);
}
打印结果:
01-01 00:05:25.133: I/md(1651): 循环1打印结果:1
01-01 00:05:25.133: I/md(1651): 循环1打印结果:2
01-01 00:05:25.133: I/md(1651): 循环1打印结果:3
01-01 00:05:25.133: I/md(1651): 循环1打印结果:4
01-01 00:05:25.133: I/md(1651): 循环1打印结果:5
不严格的说,Java的第二种for循环基本是这样的格式: for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 借助这种语法,遍历一个数组的操作就可以采取这样的写法:
/*
* 循环2:循环int数组方法二
*/ int[] i = {1,2,3,4,5};
for(int it : i){
Log.i("md", "循环2打印结果:"+it);
}
打印结果:
01-01 00:05:25.133: I/md(1651): 循环2打印结果:1
01-01 00:05:25.133: I/md(1651): 循环2打印结果:2
01-01 00:05:25.133: I/md(1651): 循环2打印结果:3
01-01 00:05:25.133: I/md(1651): 循环2打印结果:4
01-01 00:05:25.133: I/md(1651): 循环2打印结果:5
对for( init; 条件; increment )解释: 首先,init先会被执行,而且就这一次。你可以在这里初始化你要的循环变量。这里也可以空白,只要有分号就行。然后,就去判断条件,如果条件为真,就执行for中的代码。如果为假,就跳出for循环,执行循环外下面的语句。在执行完一次循环主体之后,会来到increment语句,increment允许你进行变量的更新(也可以留空)。最后将会再一次判断条件,如果为真,就执行循环,如果为假,循环终止。
/*
* 循环3:循环string数组方法一
*/
String[] s = {"a","b","c","d","e"};
Collection collection = java.util.Arrays.asList(s);
for(Iterator iterator = collection.iterator(); iterator.hasNext();){
Object str = iterator.next();
Log.i("md", "循环3打印结果:"+str);
}
打印结果:
01-01 00:05:25.133: I/md(1651): 循环3打印结果:a
01-01 00:05:25.133: I/md(1651): 循环3打印结果:b
01-01 00:05:25.133: I/md(1651): 循环3打印结果:c
01-01 00:05:25.133: I/md(1651): 循环3打印结果:d
01-01 00:05:25.133: I/md(1651): 循环3打印结果:e
第二种遍历Collection的简单方式: for (循环变量类型 循环变量名称 : 要被遍历的对象) 循环体 借助这种语法,遍历一个数组的操作就可以采取这样的写法:
/*
* 循环4:循环string数组方法二
*/
for(Object ob : collection){
Log.i("md", "循环4打印结果:"+ob);
}
打印结果:
01-01 00:05:25.133: I/md(1651): 循环4打印结果:a
01-01 00:05:25.133: I/md(1651): 循环4打印结果:b
01-01 00:05:25.133: I/md(1651): 循环4打印结果:c
01-01 00:05:25.133: I/md(1651): 循环4打印结果:d
01-01 00:05:25.133: I/md(1651): 循环4打印结果:e
只要所设定的条件为真,while循环就会一直重复执行while循环中的代码。
/*
* while循环
*/
int iw = 5;
while (iw>0)//判断条件
{
iw --;
Log.i("md", "while循环打印结果:"+iw);
}
打印结果:
01-01 00:05:25.134: I/md(1651): while循环打印结果:4
01-01 00:05:25.134: I/md(1651): while循环打印结果:3
01-01 00:05:25.134: I/md(1651): while循环打印结果:2
01-01 00:05:25.134: I/md(1651): while循环打印结果:1
01-01 00:05:25.134: I/md(1651): while循环打印结果:0
do...while的特点是在语句的最后面对条件进行判断,和while不同的是do...while一定会保证循环能执行一次。
/*
* do...while循环
*/
int idw = 5;
do {
idw --;
Log.i("md", "do...while循环打印结果:"+idw);
} while (idw>0);//判断条件
打印结果:
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:4
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:3
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:2
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:1
01-01 00:05:25.134: I/md(1651): do...while循环打印结果:0