循环结构分两大类,一类是当型,一类是直到型。
- 当型:
当布尔表达式条件为true时,反复执行某语句,当布尔表达式的值为false时才停止循环,比如:while与for循环。先判断后执行
- 直到型:
先执行某语句, 再判断布尔表达式,如果为true,再执行某语句,如此反复,直到布尔表达式条件为false时才停止循环,比如do-while循环。先执行后判断
while 循环
- 在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次。
- 语句中应有使循环趋向于结束的语句,否则会出现无限循环–––”死”循环
do-while循环
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。
public class WhileTest {
public static void main(String[] args) {
int sum=0;
int i=0;
//计算0到100的和
// while(i<=100){
// sum+=i;
// i++;
// }
//求0到100偶数之和
while(i<=100){
if(i%2==0){
sum+=i;
i++;
}else{
i++;
}
}
System.out.println("0到100的**和为:"+sum);
}
}
for 循环
for (初始表达式; 布尔表达式; 迭代因子) {
循环体;
}
- 初始化部分设置:循环变量的初值
- 条件判断部分为:布尔表达式(这个布尔判断目的意在限制范围)
迭代因子:控制循环变量的增减 ```java public class ForTest { public static void main(String[] args) {
//求0到100之和 int sum=0;
// for(int i=0;i<=100;i++){ // sum+=i; // } // System.out.println(“和为:”+sum);
//无限死循环,类似 while(true) for(;;){ System.out.println("我爱世界,我爱java"); } //求0到100偶数和 for(int i=0;i<=100;i++){ if(i%2==0){ sum+=i; } } System.out.println("偶数和为:"+sum);
} }
<a name="akfNW"></a>
# 嵌套循环
```java
for(int i=1;i<=5;i++){
for(int j=1;j<=5;j++){
System.out.print(i);
}
System.out.println("\n");
}
//九九乘法表
for(int i=1;i<=9;i++){
for(int k=1;k<=i;k++){
System.out.print(i+"*"+k+"="+(i*k<10?(" "+i*k):i*k)+"\t");
}
System.out.println();
}