四、控制结构

引言

  • 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
    1. 顺序控制
    2. 分支控制
    3. 循环控制

一、顺序控制

在这里插入图片描述

二、分支控制(if,else,switch)

在这里插入图片描述

2.1 if 单分支

在这里插入图片描述

在这里插入图片描述

2.2 if 双分支

在这里插入图片描述

在这里插入图片描述

2.3 if 多分支

在这里插入图片描述

在这里插入图片描述

2.4 if 嵌套分支

在这里插入图片描述

2.5 switch分支结构

在这里插入图片描述

  • switch的执行流程图
    在这里插入图片描述

注意:如果case的程序块最后没有break则跳过其后的case判断直接按顺序执行其后的代码块,这种现象称之为 穿透

  • switch的细节讨论
    在这里插入图片描述

2.6 switch和if的比较

在这里插入图片描述

三、循环控制(for,while,dowhile,多重循环)

3.1 for循环控制

  • 基本介绍:听其名知其意,就是让你的代码可以循环的执行.
  • 基本语法
    在这里插入图片描述
public class For01{
    public static void main(String[] args){
        // 使用for循环控制
        for(int i = 1;i <= 10;i++){
            System.out.println("你好,韩顺平教育"+i);
        }
    }
}
  • for循环流程图
    在这里插入图片描述

  • for循环控制的注意事项和细节说明
    在这里插入图片描述

public class ForDetail{
    public static void main(String[] args){
        int i = 1; // 循环变量初始化,申明在此处可在循环代码块外部被使用
        for(;i <= 10;){
            System.out.println("Hello,韩顺平教育" + i);
            i++;
        }
        System.out.println("i=" + i); // 11
        for(;;){ // 表示无限循环,死循环
        }
    }

}

3.2 while循环控制

  • 基本语法
    在这里插入图片描述

  • while循环流程图
    在这里插入图片描述

public class While01{
    public static void main(String[] args){
        int i = 0; // 循环变量初始化
        while(i<10){
            System.out.println("你好,韩顺平" + i);// 执行语句
            i++; // 循环变量迭代
        }
        System.out.println("退出while,继续..");
    }
}
  • while循环的注意事项和细节说明
    在这里插入图片描述

3.3 do…while循环控制

  • 基本语法
    在这里插入图片描述

  • do … while循环流程图
    在这里插入图片描述

public class DoWhile01{
    public static void main(String[] args){
        int i = 1; // 循环变量初始化
        do{
            // 循环执行语句
            System.out.println("你好,韩顺平教育" + i);
            i++;
        }while(i<=10);
    }
}
  • do … while的注意事项和细节说明
    在这里插入图片描述

3.4 多重循环控制

在这里插入图片描述

四、break

在这里插入图片描述

  • 基本介绍
    在这里插入图片描述

  • break注意事项和细节说明
    在这里插入图片描述

五、continue

  • 基本介绍
    在这里插入图片描述

  • 细节案例分析和说明
    在这里插入图片描述

六、return

  • 基本介绍
    在这里插入图片描述

七、课后题

7.1 九九乘法表

import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        for(int i = 1;i<=9;i++){
            for(int j = 1;j<=i;j++){
                System.out.print(j + "*" + i + "=" + (i*j) + '\t');
            }
            System.out.print("\n");        
        }
    }
}

在这里插入图片描述

7.2 经典打印金字塔

在这里插入图片描述

public class Test{
    public static void main(String[] args){
        // 实心三角
        int layer = 6;
        for(int i = 0;i<layer;i++){
            for(int j = 0;j < 2 * layer - 1;j++){
                if(j >= layer - 1 - i && j <= layer - 1 + i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
                
            }
            System.out.print("\n");
        }

        // 空心三角
        int layer = 6;
        for(int i = 0;i<layer;i++){
            for(int j = 0;j < 2 * layer - 1;j++){
                if(j == layer - 1 - i || j == layer - 1 + i || i == layer - 1){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }
                
            }
            System.out.print("\n");
        }
        
    }
}

在这里插入图片描述

在这里插入图片描述

7.3 break练习

在这里插入图片描述

import java.util.Scanner;
public class Test{
    public static void main(String[] args){
        // 练习题2
        String userName;
        String password;
        Scanner scanner = new Scanner(System.in);
        int times = 3; // 剩余机会    

        for(;times>0;){
            System.out.print("请输入用户名:");
            userName = scanner.next();
            System.out.print("请输入密码:");
            password = scanner.next();
            if(userName.equals("丁真") && password.equals("666")){
                System.out.println("登录成功!");
                break;
            }else{
                times--;
                System.out.println("用户名或密码错误!!!,还剩" + times + "次机会");
            }
        }
        
        
    }
}

八、细节知识

8.1 使用boolean的赋值表达式作为if的条件语句

在这里插入图片描述

8.2 switch的细节知识

在这里插入图片描述

注意:如果case的程序块最后没有break则跳过其后的case判断直接按顺序执行其后的代码块,这种现象称之为 穿透

在这里插入图片描述

8.3 break细节知识

在这里插入图片描述

  • Java中使用break跳出循环时,可以指定为各层指定标签,并使用break直接跳出指定标签层的循环
  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ModelBulider

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

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

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

打赏作者

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

抵扣说明:

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

余额充值