Android中的循环语句(while while-if for for-each)总结

作者: android00 发布时间: 2017-06-26 浏览: 1156 次 编辑

Android中的Java循环语句:

1.while语句:

while(条件){
循环体
}

解释:当while语句中的条件为真时,执行while循环,一直到条件为假时结束循环,其中条件(括号内的表达式)需要返回一个boolean类型的值,用来判断是否进行循环执行循环体代码。当条件不成立时跳出循环。若想实现一个死循环,则可以直接给条件赋值为true。while语句是“先判断,再执行”;有可能一次也不执行(条件设 为false)相当于while语句被忽略不执行。

示例(执行1到10的整数求和):

int i = 1;
int sum = 0;
while(i<10){
    sum += i;
    i++;
}

2.do-while语句

do {

循环体

}while(条件)

解释:与while循环有所不同,while循环需要先判断条件再执行循环,而do-while语句是先执行一次循环体代码,然后再根据条件判断是否继续执行循环。当条件不成立时跳出循环。

示例(执行1到10的整数求和):

int i = 1;
int sum = 0;
do{
    sum +=i;
    i++;
}while(i<10);


3.for循环语句

for(初始条件表达式;条件表达式;变量赋值表达式){

循环体

}

解释:for循环中的三个表达式均可以省略,初始条件表达式可以由0到多个变量初始赋值组成,条件表达式需要是返回boolean值得表达式,变量重新赋值表达式可以是0到多个变量的赋值。当条件满足条件表达式时,执行循环体代码,每次循环体执行完毕,执行变量赋值表达式,然后再继续通过条件判断是否执行循环体;当条件不成立时跳出循环。

示例(执行1到10的整数求和):

int sum = 0;
for(int i = 1;i<10;i++){
    sum +=i;
}

4.for-each循环

for(var :ary){

循环体

}

解释:for-each循环又叫增强型for循环,用来遍历数组和集合的,使用前需要有数组或集合,括号中“:”前的var是指存放一个数组或集合的成员类型的变量,“:”后的ary为一个数组或集合。该循环会将整个数组或集合中的数据遍历一遍并用这些数据执行循环体,这些数据在循环体中用括号中的那个变量var来表示。

示例(执行1到10的整数求和):

int sum = 0;
int [] ary = {1,2,3,4,5,6,7,8,9};
for (int i : ary) {
    sum += i;
}

注意:for-each循环并不能给当前遍历的数组/集合内进行赋值运算,只能进行对其进行遍历,该过程相当于只是对改数组/集合进行取值并使用,括号内的“:”前面的变量var并不是数组/集合内的对象,其只是一个承接数据的变量,相当于,用来接收数据的变量,并不是原数组/集合ary内的成员。

int [] ary = {1,2,3,4,5,6,7,8,9};
for (int i : ary) {
    i = 1
}

执行后的ary = {1,2,3,4,5,6,7,8,9};并不是{1,1,1,1,1,1,1,1,1,1},ary的值未变。

循环的终止操作

使用break和continue关键词来操作终止循环,其中break关键字用来终止整个循环,跳出循环,执行循环后的操作;continue关键字用来终止当前循环体的操作,使循环进入条件判断。若是循环嵌套,break和continue只能终止它们所在的最底层的循环操作,若要终止叫外层的操作,需要用标签标注外层循环,并将标签加在break和continue关键词后面标示。

示例:

int sum = 0;
lable:
for(int i = 1;i<=15;i++){
    for(int j=1;j<10;j++){
<span class="Apple-tab-span"></span>    sum +=j;
<span class="Apple-tab-span"></span>    if(j==9) break lable;
    }
}

执行结果sum=55;当i=1时,内层循环执行j=9时,sum +=j得sum=45,满足if(j==9)执行break

lable,直接跳出外层循环,并不执行内层j=10和外层i=2。