java语言中的while、do while、for循环
什么是循环呢?
循环就是通过某个条件,重复的执行一段逻辑代码。
1、while循环
语法:
while(布尔表达式){
//逻辑代码(循环操作)
}
执行流程:
- 先对布尔表达式进行判断,结果为true,则执行逻辑代码。
- 本次执行完毕后,再次进行判断,结果仍旧为true,则再次执行逻辑代码。
- 直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
while循环的组成:由四部分组成
public class Main{
public static void main(String[] args){
//1、初始部分:用以判断的变量
int i = 1;
//2、循环条件:(i <= 10)决定是否继续循环的依据
while (i <= 10){
//3、循环操作:单次执行的逻辑代码或任务
System.out.println("*");
//4、迭代部分:控制循环条件改变的增量
i++;
}
}
}
while的死循环:
//输出无数个 “hello,world!”
while(true){
System.out.println("hello,world!");
}
while的特点:先判断后循环,不知道循环次数。
课堂案例:
public class Demo01 {
public static void main(String[] args) {
//求1-100之间能被3整除的数之和
int i = 1;
int sum = 0;
while(i <= 100){
if(i%3 == 0){
sum += i;
}
i++;
}
System.out.println("sum is:"+sum);
}
}
2、do while循环
语法:
do{
逻辑代码(循环操作)
}while(布尔表达式);
执行流程:
- 先执行一次循环操作之后,再进行布尔表达式的判断。
- 如果结果为true,则再次执行循环操作。
- 如果结果为false,才会退出循环结构,执行后续代码。
do while的特点:先循环后判断,不知道循环次数。
课堂案例:
public class Demo02 {
public static void main(String[] args) {
//求1-100之间能被3整除的数之和
int i = 1;
int sum = 0;
do {
if(i%3 == 0){
sum += i;
}
i++;
}while(i <= 100);
System.out.println("sum is:"+sum);
}
}
3、for循环
语法:
for(初始部分 ; 循环条件 ; 迭代部分){
//循环操作
}
执行流程:
- 首次执行初始部分(仅一次)。
- 对布尔表达式进行判断,结果为true,则执行逻辑代码。
- 本次执行完毕后,执行迭代部分,再次判断,结果仍旧为true,则再次执行逻辑代码。
- 直至布尔表达式的结果为false时,才会退出循环结构,执行后续代码。
for的死循环:
//输出无数个 “hello,world!”
for(;;){
System.out.println("hello,world!");
}
for的特点:先判断后循环,知道循环次数。
课堂案例:
public class Demo03{
public static void main(String[] args) {
//求1-100之间能被3整除的数之和
int sum = 0;
for(int i = 1;i < 10;i++){
if(i%3 == 0)
sum += i;
}
System.out.println("sum is:"+sum);
}
}
for循环的嵌套:
/**
*输出一个等腰三角形
* * 第一行,4个空格,1个* 空格的个数为5-行数
* *** 第二行,3个空格,3个* *的个数为行数*2-1
* ***** 第三行,2个空格,5个*
* ******* 第四行,1个空格,7个*
* ********* 第五行,0个空格,9个*
*/
public class Demo04 {
public static void main(String[] args) {
int num = 5;
for (int i = 1;i <= num;i++){
//打印空格
for (int j = 1;j <= num-i;j++){
System.out.print(" ");
}
//打印*
for (int j = 1;j <= 2*i-1;j++){
System.out.print("*");
}
//换行
System.out.println();
}
}
}