Java循环结构(do~while、while循环、for循环、break和continue)

什么是循环?
  1. 循环不是无休止进行的,满足一定条件的时候循环才会继续,称为“循环条件”。循环条件不满足时,循环退出;
  2. 循环结构是反复进行相同的或类似的一系列操作,称为“循环操作”。
  3. 循环条件一直为true会造成无限循环【死循环】,我们正常业务编程中应该避免死循环。会影响程序性能造成程序卡死崩溃。
死循环
while(true){
    
    
	//代码
}

while 循环

  • while是最基本的循环

语法

while(布尔表达式){
    
    
	//循环内容
}
示例
//输出1~100


int i = 1;//初始化条件

while (i <= 100){
    
    //条件判断
    System.out.println(i);//循环体
    i++;//迭代
}

计算1 + 2 + 3 + …… + 100=?

int i = 0;
int sum = 0;//计算和

while (i <= 100){
    
    
    sum += i;//等效sum = sum + i;
    i++;//每次循环i+1
}
System.out.println(sum);
while循环结构执行顺序:

(1)声明并初始化循环变量

(2)判断循环条件是否满足,如果满足则执行循环操作;否则退出循环。

(3)执行完循环操作后,再次判断循环条件,决定继续执行循环或退出循环。
在这里插入图片描述

使用while循环结构解决问题的步骤:

  1. 分析循环条件和循环操作
  2. 套用while语法写出代码
  3. 检查循环能否退出

do……while 循环

语法

do{
    
    
	//代码
}whle(条件)

在这里插入图片描述

示例
do {
    
    //先执行一次代码
    System.out.println(i);
    i++;
}while (i <= 100);//再判断条件

while和do-while的区别
  1. 语法不同
  2. 次序不同
  3. while先判断,后执行
  4. do-while至少执行一次再判断
初始情况不满足时
  • while循环一次都不会执行
  • do-while循环任何情况都至少执行一次

for 循环

  • for循环是最有效最灵活的循环结构
  • for循环的执行次数是在执行前就确定的
语法及执行流程
for(1.初始部分;2.条件判断;4.迭代部分){
    
    

	3.循环体//循环体被执行
}
  1. 初始部分:设置循环的初始状态
  2. 条件判断:判断是否继续循环的条件
  3. 循环体:重复执行的代码
  4. 迭代部分:下次循环开始前要执行的部分

在这里插入图片描述

示例
int a = 1;//初始化条件

while (a<=100){
    
    //条件判断
    System.out.println(a);//循环体
    a+=2;
}
System.out.println("while循环结束");


//初始化值;条件判断;迭代
for(int i = 1;i <= 100;i++){
    
    
    System.out.println(i);
}
System.out.println("for循环结束!");
  • 练习1:计算0到100之间的奇数和偶数的和
int oddSum = 0;//存放奇数和
int evenSum = 0;//存放偶数和

for (int i = 0;i < 100; i++){
    
    
    if(i%2 != 0){
    
    //奇数
        oddSum+=i;
    }else{
    
    //偶数
        evenSum+=i;
    }
}
System.out.println("奇数的和:" + oddSum);
System.out.println("偶数的和:" + evenSum);
  • 练习2:用while或for循环输出1-1000之间能被5整除的数,并且每行输出三个
for (int i = 1;i<= 1000;i++){
    
    
    if (i % 5 == 0){
    
    
        System.out.print(i + "\t");
    }
    if (i%(5*3)==0){
    
    //换行
        System.out.println();
        //System.out.println("\n");
    }
}
  • 练习3:打印九九乘法表

在这里插入图片描述

  1. 先打印第一列
  2. 我们把固定的1再用一个循环包起来
  3. 去掉重复项,j <= i
  4. 调整样式
for (int i = 1; i <= 9; i++) {
    
    
    for (int j = 1; j <= i; j++) {
    
    
        System.out.print(j + "*" + i + "=" + i*j + "\t");
    }
    System.out.println();//换行
}

增强for循环

  1. Java5引入的主要用于数组或集合的增强型for循环
  2. 这里我们先见个面,之后数组我们重点使用
语法
for(声明语句:表达式){
    
    
	//代码
}

练习

  • 打印三角形

三角形.png

for (int i = 1;i <= 5;i++){
    
    //代表5行
	//打印了半个空白三角形
    for (int j = 5;j >= i; j--){
    
    
        System.out.print(" ");
    }
    
    for (int j = 1;j <= i; j++){
    
    
        System.out.print("*");
    }
    
    for (int j = 1;j < i; j++){
    
    
        System.out.print("*");
    }
    System.out.println();//换行
}

break语句
  • break用于强制退出循环
  • break常用于switch结构和循环结构中
for(int i=0;i<10;i++){
    
    //跑10圈
    if(i == 6){
    
     //第6圈坚持不下去了
        break;//退出比赛
    }
    System.out.println(i);
}

continue语句

  • 跳过某次循环执行下次循环
  • 只能用在循环语句中
int i = 0;
int count = 0;
while (i<100){
    
    
    i++;
    
    //能整除10的数不输出
   	if (i % 10 == 0){
    
    	
        continue;//跳过这个循环开始执行下一次
    }else{
    
    
         count++;//记录输出了几个数
    }
    System.out.print(i + "\t");
    
    if (count % 9 == 0){
    
    //输出九个数字换一次行
        System.out.println();
    }
}

break和continue的区别:

  • break直接结束循环结构
  • continue结束某次循环开始下一次

猜你喜欢

转载自blog.csdn.net/weixin_45277249/article/details/111188600