java流程控制语句-循环结构详细解析

本文详细解析了Java中的循环结构,包括for循环、continue关键字、break关键字、双重for循环嵌套及while和do-while循环的使用。通过实例展示了如何在不同场景下运用这些循环结构,同时强调了break在多层循环中的跳出功能。
摘要由CSDN通过智能技术生成

java流程控制语句-循环结构详细解析

循环结构(重中之重)

循环结构的概念

  1. 在Java程序中若希望重复执行一段代码时,就需要使用循环结构

for循环

  1. 语法结构

    for(初始化表达式; 条件表达式; 修改初始值表达式) {
    	循环体;
    }
    
  2. 图示表示
    在这里插入图片描述

  3. 语法含义

    执行初始化表达式 => 判断条件表达式是否成立

    ​ => 成立则执行循环体 => 修改初始值表达式 => 判断条件是否成立

    ​ => 若不成立,则循环结束

  4. 代码演示

    /*
    	编程使用 for 循环的使用,模拟玩游戏的过程
    */
    
    public class ForTest{
    	public static void main(String[] args) throws Exception {
    		for(int i = 1; i <= 10; i++){
    			System.out.println("王者游戏,恭喜胜利 正在进行第" + i + "场游戏...");
    			Thread.sleep(5000);  // 表示游戏进行的游戏时间
    			System.out.println("本次游戏结束 你的技术老好了 !!!!");
    		}
    	}
    }
    

continue关键字

  1. continue关键字的理解

    continue语句用在循环体中,用于结束本次循环而开始下一次循环

  2. 代码演示

    /*
    	使用for循环打印 1-20 之间的整数 如果遇到5的倍数则跳过不打印
    */
    
    public class ContinueTest{
    	public static void main(String[] args) {
    		// 1.使用for循环打印 1-20之间的整数
    		for(int i = 1; i <= 20; i++){
    			// 如果遇到5的倍数则跳过不打印
    			if(0 == i % 5){
    				continue;
    			}
    			System.out.println("i = " + i);
    		}
    	}
    }
    

break关键字

  1. break用于退出当前语句块,break用在循环体中用于退出循环。

  2. 注意事项

    for( ; ; ) - 这种没有循环条件的循环叫做 无限循环,俗称“死循环” 。

  3. 代码演示

    /*
    	编程使用for循环 和 break 关键字来模拟聊天内容
    */
    import java.util.Scanner;
    public class ForBreakTest{
    	public static void main(String[] args) {
    		for(;;){
    			// 1.提示用户输入聊天内容
    			System.out.println("请输入你要发送的聊天内容:");
    			Scanner sc = new Scanner(System.in);
    			String str = sc.next();
    			// 2.判断用户输入的是否是bye 若是结束聊天
    			if("bye".equals(str)){
    				System.out.println("聊天结束");
    				break;  // 跳出当前循环
    			}
                 // 3.若不是则打印聊天内容
    			System.out.println(str);
    		}
    	}
    }
    

双重for 循环嵌套(关于多行多列)

  1. 语法结构

    for(初始化表达式1; 条件表达式2; 修改初始值表达式3) {
    	for(初始化表达式4; 条件表达式5; 修改初始值表达式6) {
    		循环体;
    	}
    }
    
  2. 表示含义

    执行表达式1 => 判断表达式2是否成立

    ​ => 若成立,则执行表达式4 => 判断表达式5是否成立

    ​ => 若成立,则执行循环体 => 执行表达式6 => 表达式5是否成立

    ​ => 若不成立,则内层循环结束 => 表达式3 => 表达式2是否成立

    ​ => 若不成立,则外层循环结束

  3. 双重for 循环嵌套的特点

    1. 外层循环用于控制打印的行数,内层循环用于控制打印的列数,外层循 环改一下,内层循环从头到尾跑一圈。
    2. 在以后的开发中若需要打印多行多列时,需要使用双重循环。
    3. 多重循环不宜嵌套太多层,否则效率很低。一般到三重循环即可,最常 见的就是双重循环。、
  4. for循环嵌套打印 99乘法表

    /*
    	for 循环嵌套打印 99乘法表
    */
    
    public class NineTest{
    	public static void main(String[] args) {
            // 1.判断行数
    		for(int i = 1; i <= 9; i++){
                // 2. 判断列数
    			for(int j = 1; j <= i; j++){
                    // 3.打印 99 乘法表 
    				System.out.print(i + "+" + j + " = " + i * j + "\t");
                    // 4.判断是否换行
    				if(i == j){
    					System.out.println();
    				}
    			}
    		}
    	}
    }
    

break关键字跳出多层循环

  1. 在嵌套的循环结构中,break用于退出所在循环体。

  2. 如果要退出外层循环体,需要使用标号的方式。

    for (...) { 				outer: for (...) {
    	for(...) { 					for(...) {
    		break; 						break outer;
    		} 							}
    	}						 }
    

while循环

  1. 语法结构

    while(条件表达式) {
    	循环体;
    }
    
  2. 图示表示在这里插入图片描述

  3. 语法意义

    判断条件表达式是否成立

    ​ => 若成立,则执行循环体

    ​ => 判断条件表达式是否成立 => 若不成立,则循环结束

  4. 代码演示

    /*
    	编程实现 while 循环的使用
    */
    public class WhileTest{
    	public static void main(String[] args){
    		// 使用while 循环打印 1 - 10
    		int i = 0;
    		while(i <= 10){
    			System.out.println("i = " + i);
    			i++;
    		}
    	}
    } 
    

while循环和for循环比较

  1. while循环和for循环完全可以互换,当然推荐使用for循环
  2. while循环更适合于明确循环条件但不明确循环次数的场合中
  3. for循环更适合于明确循环次数或范围的场合中
  4. while(true) 等价于 for(;😉 都表示无限循环

do while循环(熟悉)

  1. 语法结构

    do {
    	循环体;
    } while(条件表达式);
    
  2. 图示表示在这里插入图片描述

  3. 语法含义

    执行循环体 => 判断条件表达式是否成立

    ​ => 若成立,则执行循环体

    ​ => 判断条件表达式是否成立 => 若不成立,则循环结束

  4. 注意事项

    do-while循环主要用于至少执行一次循环体的场合中

  5. 代码演示

    /*
    	编程使用do-while 循环
     */
    public class DoWhileTest{
    	public static void main(String[] args){
    		// 使用do—while 循环打印 2-10的数值
    		int i = 1;
    		do{
    			System.out.println(i);
    			i++;
    		}while(i <= 10);
    	}
    }
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白迷上java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值