四、控制结构

news2024/12/24 22:16:07

文章目录

  • 引言
  • 一、顺序控制
  • 二、分支控制(if,else,switch)
    • 2.1 if 单分支
    • 2.2 if 双分支
    • 2.3 if 多分支
    • 2.4 if 嵌套分支
    • 2.5 switch分支结构
    • 2.6 switch和if的比较
  • 三、循环控制(for,while,dowhile,多重循环)
    • 3.1 for循环控制
    • 3.2 while循环控制
    • 3.3 do..while循环控制
    • 3.4 多重循环控制
  • 四、break
  • 五、continue
  • 六、return
  • 七、课后题
    • 7.1 九九乘法表
    • 7.2 经典打印金字塔
    • 7.3 break练习
  • 八、细节知识
    • 8.1 使用boolean的赋值表达式作为if的条件语句
    • 8.2 switch的细节知识
    • 8.3 break细节知识

引言

  • 在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句
    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直接跳出指定标签层的循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2072624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[Linux#47][网络] 网络协议 | TCP/IP模型 | 以太网通信

目录 1.网络协议 2.协议分层 2.1 OSI七层模型 2.2TCP/IP五层(四层)模型 2.3 以太网通信 1.网络协议 "协议"本质就是一种约定 计算机之间的传输媒介是光信号和电信号. 通过 "频率" 和 "强弱" 来表示 0 和 1 这样的 信息. 要想传递各种不同…

全志616系统启动和登录

一、系统启动 刷完机烧入镜像&#xff0c;直接用MobaXterm软件串口登陆 约定固定的波特率115200。 默认登录&#xff1a; 用户&#xff1a;orangepi 密码&#xff1a;orangepi 或用户&#xff1a;root 密码&#xff1a;orangepi 在输入密码时…

SEO之网站结构优化(十三-网站地图)

** 初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; ** 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客&#xff1a;阿幸SEO~探索搜索排名之道 网站无论大小&…

5分钟学会使用Linux的 grep、find、ls、wc 命令

Linux基础命令和工具 一、前导&#xff1a;概述1.1、监控1.2、测试1.3、优化 二、grep 搜索字符三、find 查找文件四、ls 显示文件五、wc 命令六、总结 一、前导&#xff1a;概述 本系列主要讲解Linux运行时命令&#xff0c;包括网络、磁盘、内存、CPU相关参数等&#xff0c;主…

伏图芯片应力仿真功能介绍

随着电子产品向小型化、规模化、集成化方向发展&#xff0c;机械应力对器件性能的影响日益显著。产品在晶圆加工、芯片封装、元器件装配等过程中均会受到机械应力的作用&#xff0c;可能会直接影响芯片的电性能和可靠性。 仿真技术在芯片产品研发设计和故障排查阶段扮演着至关…

Python | Leetcode Python题解之第372题超级次方

题目&#xff1a; 题解&#xff1a; class Solution:def superPow(self, a: int, b: List[int]) -> int:MOD 1337ans 1for e in b:ans pow(ans, 10, MOD) * pow(a, e, MOD) % MODreturn ans

NIOS Eclipse突然报错:No rule to make target `/system.h

NIOS Eclipse突然报错&#xff1a;No rule to make target /system.h 今天打开NIOS Eclipse编译昨天完好的工程&#xff0c;发现报错。我就纳闷了&#xff0c;代码没有修改&#xff0c;编译结果报错 控制台中problems选线中显示&#xff1a; No rule to make target /system…

嵌入式开发神器——vim配置

本期主题&#xff1a; 讲解vim的一些配置&#xff0c;让大家也可以用上自己定制化的vim 目录 0. 目前个人所用的vim配置截图1. vim的插件1. 怎么找插件2. 如何安装插件3. 安装好了如何使用插件 2. 个人配置的vim链接 0. 目前个人所用的vim配置截图 1. vim的插件 1. 怎么找插件…

【Qt】输入类控件QSlider

目录 输入类控件QSlider 例子&#xff1a;调整窗口大小 例子&#xff1a;通过自定义快捷键调整滑动条位置 输入类控件QSlider 使用QSlider表示一个滑动条 QDail与QSlider都继承于QAbstractSlider&#xff0c;所以其用法基本相似。 核心属性 属性说明 value 持有的数值 mi…

【hot100篇-python刷题记录】【反转链表】

R6-链表篇 思路&#xff1a;想到使用2个指针来做 pre在head前,now就是head 初始&#xff1a;nowhead,predummy 每次需要进行的操作&#xff1a; tmpnow.next now.next-->pre prenow nowtmp class Solution:def reverseList(self, head: Optional[ListNode]) -> …

280Hz显示器哪家强

280Hz显示器哪家强&#xff1f;今天就给大家带来6大品牌和型号的280Hz显示器一起对比对比&#xff01; 1.280Hz显示器 - HKC G27H3显示器 HKC G27H3是一款高性价比的电竞显示器&#xff0c;以下是它的一些特点&#xff1a; - **高刷新率与快速响应**&#xff1a; - 拥有280H…

【Arduino】试验带识别模块的吃鸡助手

在前面的试验中&#xff0c;我们试验了声音触发点击&#xff0c;方面多指操作的辅助功能&#xff0c; 【Arduino】自制声控点击器&#xff08;吼叫吃鸡助手&#xff09;-CSDN博客 如果声控模块换成图像识别模块&#xff0c;就是一个自动识别并shot的功能了&#xff0c; 通过…

使用GDIView工具排查GDI对象泄漏案例的若干细节总结

目录 1、查看任务管理器&#xff0c;发现程序中有明显的GDI对象泄漏 2、使用GDIView工具查看发生泄漏的是哪一种GDI对象 3、尝试找到复现问题的方法&#xff0c;缩小排查范围&#xff0c;逐步地找到GDI对象的泄漏点 4、本案例中的相关细节点的思考与总结&#xff08;有价值…

httpClient与openfeign

目录 介绍 maven坐标 发送请求步骤 发送get请求 ​发送post请求 介绍 是一个客户端编程的工具包&#xff0c;也就是在java程序中&#xff0c;可以构造http请求并且发送请求 maven坐标 httpclient <dependency> <groupId>org.apache.httpcomponents</g…

【Kotlin设计模式】建造者模式在Android中的应用

前言 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;一步一步地构建一个复杂对象的不同部分&#xff0c;而不是直接创建该对象的实例。建造者模式的核心思想是将对象的构建过程与其表示分离&#xff0c;使得同样的构建过程可以创建不同的…

如何使用ssm实现基于ssm的疫情物质管理系统

TOC ssm170基于ssm的疫情物质管理系统jsp 第一章 绪论 1.1 研究背景 时代总是在进步的&#xff0c;自从进入了信息时代&#xff0c;面对大量的不同种类的数据&#xff0c;仅仅依靠有限的人力去处理&#xff0c;显然是不行的&#xff0c;毕竟人工处理大量的数据会耗费较长时…

git提交项目,报403无权限

这个在公司内网git上提交项目时&#xff0c;使用的是刚分配到的账号和密码。创建完组和项目后一切准备完毕了&#xff0c;但是在提交时缺出了乌龙&#xff0c;报403&#xff0c;上面一堆英文&#xff0c;大致的意思是说我没有上传本项目的权限&#xff0c;报错信息如下图所示&a…

5.1二叉树——基本概念梳理

本篇博客梳理二叉树相关的基本概念 一、树的概念与结构 1&#xff0e;树是递归定义的 树根N棵子树&#xff0c;每棵子树也可按照相同方式拆分 注意&#xff1a;子树之间不能有交集&#xff0c;否则变成图&#xff08;是另一种数据结构&#xff09; 2&#xff0e;树的相关概…

Linux进程信号——信号的概念与产生

文章目录 信号及其产生与发送什么是Linux信号信号的产生终端按键系统调用软件条件硬件条件 核心转储存储临时信号 信号及其产生与发送 我们从生活中理解信号&#xff0c;例如各种指示灯&#xff0c;红绿灯之类的&#xff0c;我们能认识红绿灯是因为每一种不同的情况在我们大脑…

Apache Doris 跨集群数据同步 CCR 全面介绍

CCR 概述 CCR&#xff08;Cross Cluster Replication&#xff09;也就是跨集群数据复制&#xff0c;能够在库/表级别将源集群的数据变更同步到目标集群&#xff0c;可用于提升在线服务的数据可用性、隔离在离线负载、建设两地三中心等。 CCR 通常被用于容灾备份、读写分离、集…