二级JAVA第四章辅导:流程控制循环语句
4.2循环声明
循环的功能是重复执行一段代码,直到满足终止循环的条件。通常,一个循环应该包括四个部分:
1.初始化:用来设置周期的一些初始条件,比如清零计数器。
2.循环体:这是一段重复循环的代码。它可以是单句,也可以是复合句。
3.迭代:这是一个在当前循环结束和下一个循环开始时执行的语句。它通常用于递增或递减计数器。
4.终止:通常是一个布尔表达式,每个循环都要对其求值,以验证是否满足循环终止条件。
Java中提供的循环语句有:while语句、do-while语句和for语句,下面分别介绍:
while语句
While语句实现“when type”循环,其一般格式为:
[初始化]
while(终止){
body;
[迭代;]
}
1.当Dambre表达式(termination)的值为true时,循环执行花括号中的语句。初始化部分和迭代部分是可选的。
2.while语句首先计算终止条件,当条件满足时,执行循环中的语句。这是“当类型”循环的特征。
do-while语句
Do-while语句实现“until type”循环,其一般格式为:
[初始化]
do {
body;
[迭代;]
}while(终止);
1.do-while语句首先执行循环体,然后计算终止条件。如果结果为真,则循环执行花括号中的语句,直到布尔表达式的结果为假。
2.与while语句不同,do-while语句的循环体至少执行一次,这是“until type”循环的特点。
4.2.3for语句
for语句也用于实现“when type”循环,其一般格式为:
for(初始化;终止;迭代){
body;
}
1.在执行1.for语句时,首先执行初始化操作,然后判断是否满足终止条件,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一个周期后,重新判断终止条件。
2.可以在for语句的初始化部分声明一个变量,其作用域是for语句。
3.3.for语句通常用于执行循环次数确定的情况(比如对数组元素进行操作),或者根据循环结束条件循环次数不确定的情况。
4.可以在初始化部分和迭代部分使用逗号语句来执行多个操作。逗号是由逗号分隔的一系列语句。例如:
for(i=0,j = 10I < j;i++,j - ){
……
}
5.初始化、终止和迭代可以是空语句(但不能是分号)。当三者都是空时,相当于一个无限循环。
持续声明
1.continue语句用于结束这个循环,跳过循环体中后面的语句,然后判断终止条件决定是否继续循环。对于For语句,在判断终止条件之前,应该先执行迭代语句。它的格式是:
继续;
2.也可以使用continue跳转到括号指示的外循环,此时的格式为:
继续外扩;
例如:
outer:for(int I = 0;i < 10++){∨外循环
for(int j = 0;j < 20++){∨内循环
if (j > I) {
...继续向外;
}
……
}
……
}
本例中,当满足J > I的条件时,程序执行完相应语句后跳转到外循环,执行迭代语句i++;+的外圈;然后开始下一个循环。
4.2.5示例
例4.4下面的例子分别用while、do-while和for语句实现累加求和。
public class Sum {
public static void main(String args[]){
system . out . println(" \ n * * while语句* * ");
int n=10,sum = 0;∨初始化
while(n > 0){∨终止
sum+= n;∑body
n-;∨iteration
}
system . out . println(" sumis "+sum);
system . out . println(" \ n * * do _ while statement * * ");
n = 0;∑初始化
sum = 0;
do {
sum+= n;∨body
n++;∑迭代
} while(n < = 10);∑termination
system . out . println(" sumis "+sum);
system . out . println(" \ n * * for statement * * ");
sum = 0;
for(inti = 1;i < = 10i++){
∑初始化、终止、迭代
sum+= I;
}
system . out . println(" sumis "+sum);
}
}
运行结果是:
C:\>java Sum
* * while语句**
sum为55
**do_while语句**
sum为55
**for语句**
sum为55
我们可以比较这三种循环语句,以便在不同的情况下选择合适的语句。
例4.5求100到200之间的所有质数
public class prime number {
public static void main(String args[]){
system . out . println(" * * 100到200之间的素数* * ");
intn = 0;
outer:for(inti = 101;i < 200I+= 2){∨外循环
int k = 15;∑选择方便(int j = 2;j < = k;j++){∥innerlop
if(I % j = = 0)
continue outer;
}
system . out . print("+I);
n++;∨output newline
if(n < 10)∨after 10 numbers
继续;
system . out . println();
n = 0;
}
system . out . println();
}
}
运行结果是:
C:\>java素数
* * 100到200之间的质数* *
101 103 107 109 113 127 131 137 139 149
151 157 163 167 173 179 181 191 193 197
199
此示例由嵌套的for语句实现。
0条评论