while循环
语法:
while( 布尔表达式 ){ //[循环体]当布尔表达式为true执行,执行完毕后再次判断布尔表达式是否为true }
执行流程:
1. 判断布尔表达式是否为true 2. 如果为true执行循环体(1~2反复执行), 如果为false 立即跳出循环
掌握循环的执行流程,记录每一次变量的变化
有限次数循环 概念:将循环执行次数控制在一个固定的范围 例:循环打印10个HelloWorld
System.out.println("----程序开始----");
//打印10个HelloWorld
int i = 1;//循环变量
while(i<=10){//循环条件
System.out.println("HelloWorld!"+i);
i++;//修改循环变量的值
}
System.out.println("----程序结束----");
有限次数循环的三要素
1. 定义循环变量:设置循环起点 2. 设置循环条件:设置循环终点 3. 改变循环变量的值:控制步长
使用while循环计算1~100的和
//1+2+3+4+5+6.....+100
int sum = 0;//存储每次相加的结果
int i = 1;
/*
sum += i;//累加 1
i++; // i=2
sum += i;//累加 3
i++; // i=3
sum += i;//累加 6
i++; // i=4
*/
//....
while( i<=100 ){
sum += i;//累加求和
i++;//i变量自增1
System.out.println( sum );//打印每次运算结果
}
2、do....while
语法:
do{ //[循环体] 当布尔表达式为true时执行 }while( 布尔表达式 );
例:打印10个HelloWorld
//1、定义循环变量
int i = 1;
do{
System.out.println("HelloWorld "+i);
//3、改变循环变量的值
i++;
}while( i>=10 );//2、设置循环条件
执行流程:
1. 执行循环体 2. 再判断循环条件的真假
例 2
编写一个程序,计算 10 的阶乘。使用 do-while 循环的实现代码如下所示。
public static void main(String[] args) {
int number = 1,result = 1;
do {
result*=number;
number++;
}while(number <= 10);
System.out.print("10阶乘结果是:"+result);
}
程序运行后输出结果如下:
10 阶乘结果是:3628800
while与do...while的区别
while循环:先判断,再执行 do...while循环:先执行,再判断,用于先尝试执行一次再决定是否循环 如果第一次验证循环条件为false,do..while比while多执行一次,否则执行次数一致
3、for[重点]
特点:将三要素融入到语法中形成一行,直观的看到循环次数 语法:
for(定义循环变量; 设置循环条件; 改变循环变量的值){ //[循环体]当布尔表达式为true时执行 }
例:使用for循环打印10个HelloWorld
//打印10个HelloWorld
for(int i=1; i<=10; i++){
System.out.println("HelloWorld"+i);
}
执行流程:
与while循环一致 1、定义循环变量 2、判断循环条件 3、执行循环体 4、改变循环变量的值
例:
根据for循环的声明直观看出循环次数
for(int i=0; i<=20; i++) //循环次数:21
for(int i=5; i>=0; i--) //循环次数:6
for(int i=1; i<=10; i*=2) //循环次数:4
for(;;)//死循环
每种循环的特点:
while、do...while:适用于不明确次数循环 for:适用于明确次数循环
。
名称 | 概念 | 适用场景 | 特点 |
---|---|---|---|
for | 根据循环次数限制做多少次重复操作 | 适合循环次数是已知的操作 |
|
while | 当满足什么条件的时候,才做某种操作 | 适合循环次数是未知的操作 |
|
do-while | 先执行一次,在判断是否满足条件 | 适合至少执行一次的循环操作 |
|