java从入门到起飞(三)——三大结构(顺序结构、分支结构、循环结构)

news2024/9/20 14:37:33

目录

  • 前提
  • 顺序结构
  • 分支结构
    • if选择语句
    • switch语句
  • 循环结构
    • for循环语句格式
    • while循环语句格式
    • do…while循环语句
    • 三种循环的区别
      • 三种循环的区别:
      • for和while的区别:
      • 死循环格式:

前提

    三大结构也成为流程控制语句,分为三大类,分别问顺序结构、分支结构和循环结构。接下来就让我们来详细看看这三大结构特点吧。

顺序结构

    顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
    顺序结构执行流程图:
在这里插入图片描述
    顺序结构执行NS图:
在这里插入图片描述

    顺序结构执行代码:

public static void main(String[] args){
	int a = 10;
	a = a + 6;
	System.out.println("a的值为"+a);
}

分支结构

    分支结构又称为选择结构,可分为if选择语句和Switch语句。

if选择语句

if语句的格式1:

if (关系表达式) {
    语句体;	
}

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体
  3. 如果关系表达式的值为false就不执行语句体
  4. 继续执行后面的语句内容
        if语句的格式1执行流程图:
    在这里插入图片描述
    if语句的格式2:
if (关系表达式) {
    语句体1;	
} else {
    语句体2;	
}

执行流程:

  1. 首先计算关系表达式的值
  2. 如果关系表达式的值为true就执行语句体1
  3. 如果关系表达式的值为false就执行语句体2
  4. 继续执行后面的语句内容

    if语句的格式2执行流程图:
在这里插入图片描述

switch语句

switch语句的格式:

switch(表达式) {
    case1:
	语句体1;
	break;
    case2:
	语句体2;
	break;default:	
	语句体n+1;
	break;
}

格式说明:

  • 表达式:取值为byte、short、int、char,JDK5以后可以是枚举,JDK7以后可以是String。
  • case:后面跟的是要和表达式进行比较的值。
  • break:表示中断,结束的意思,用来结束switch语句。
  • default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
    执行流程:
  1. 首先计算表达式的值。
  2. 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。
  3. 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后程序结束掉。
        switch语句执行流程图:
    在这里插入图片描述

循环结构

    特征:重复做某件事情,具有明确的开始和停止标志。
循环结构的组成:

  • 初始化语句:用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
  • 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
  • 循环体语句:用于表示循环反复执行的内容,简单说就是循环反复执行的事情
  • 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
    循环结构对应的语法:
  • 初始化语句:这里可以是一条或者多条语句,这些语句可以完成一些初始化操作
  • 条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体。例如:a<3
  • 循环体语句:这里可以是任意语句,这些语句将反复执行
  • 条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果。常见i++,i–这样的操作

for循环语句格式

格式:
for (初始化语句;条件判断语句;条件控制语句) {
    循环体语句;
}

执行流程:
① 执行初始化语句
② 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③ 执行循环体语句
④ 执行条件控制语句
⑤ 回到②继续
在这里插入图片描述

while循环语句格式

基本格式:
while (条件判断语句) {
    循环体语句;
}

完整格式:
初始化语句;
while (条件判断语句) {
    循环体语句;
    条件控制语句;
}

执行流程:
① 执行初始化语句
② 执行条件判断语句,看其结果是true还是false
如果是false,循环结束
如果是true,继续执行
③ 执行循环体语句
④ 执行条件控制语句
⑤ 回到②继续
在这里插入图片描述

do…while循环语句

基本格式:
do {
    循环体语句;
}while(条件判断语句);

完整格式:
初始化语句;
do {
    循环体语句;
    条件控制语句;
}while(条件判断语句);

执行流程:
① 执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④ 执行条件判断语句,看其结果是true还是false
  如果是false,循环结束
  如果是true,继续执行
⑤ 回到②继续

在这里插入图片描述

三种循环的区别

三种循环的区别:

  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
  • do…while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for和while的区别:

  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了
  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环格式:

for(;😉 { }
while(true) { }
do{ }while(true);

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

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

相关文章

flask+uwsgi+docker+nginx 云服务器部署测试平台

flaskuwsgidockernginx 云服务器部署测试平台 开发环境 本次主要是在腾讯云上进行部署&#xff0c;系统是CentOS 7.9 64位&#xff0c;主要使用的软件如下&#xff1a; Python 3.9.5 Pycharm Flask1.0.2 Mysql 5.7 nginx uwsgi 一 安装Nginx 1.更新yum 源 sudo rpm -ivh …

基于Java+Swing+Mysql图书信息管理系统

基于JavaSwingMysql图书信息管理系统 一、系统介绍二、功能展示1.主页2.新增图书信息3.删除图书信息 三、数据库四、其他系统实现五、获取源码 一、系统介绍 该系统实现了查看图书列表、新增图书信息、删除图书信息 运行环境&#xff1a;eclipse、idea、jdk1.8 二、功能展示…

TCP的三次握手,四次挥手

1.TCP协议介绍 传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;是为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议。由IETF的RFC 793 [1] 定义…

云之道知识付费v2 3.1.1独立版小程序系统源码

云之道知识付费v2 3.1.1独立版小程序系统源码 很不错的一款知识丰富小程序&#xff0c;感兴趣的可以自己下载搭建尝试一下。

Java官方笔记13集合

Storing Data The Collections Framework is the most widely used API of the JDK. 集合不是数据类型&#xff0c;它是JDK的API&#xff0c;可以用来存储数据等&#xff0c;相当于数据结构。 the Collections Framework is a set of interfaces that models different way of …

chatgpt赋能python:用Python做中文词云

用Python做中文词云 介绍 中文词云是一种常见的数据可视化方式&#xff0c;通过将文本中出现频率较高的关键词以图形的形式展现出来&#xff0c;让人一眼就能了解文本内容的主题和关键词。在搜索引擎优化&#xff08;SEO&#xff09;方面&#xff0c;中文词云也常被用来帮助分…

【python】使用Antlr4实现识别sql中的表或视图名

前言 先上成果预览图吧 作为一个数据库sql开发者,肯定有很多人和我一样,想要有一个工具,能传入任意sql,解析出sql中的所有表。 我之前有一篇文章【AIO】将任意查询sql转换成带远程数据库DBLINK的sql 中就提到了,使用纯文本硬解析会存在很多不确定因素,比如oracle新版本…

截取屏幕中指定区域的图像pyautogui.screenshot(区域)

【小白从小学Python、C、Java】 【等级考试500强双证书考研】 【Python-数据分析】 截取屏幕中指定区域的图像 pyautogui.screenshot(区域) [太阳]选择题 关于以下代码说法错误的是&#xff1a; import pyautogui print("【执行】pyautogui.screenshot(region(0,0,2…

麦语言入门~001课

麦语言是一种编程语言&#xff0c;它是由麦肯锡公司开发的一种专门用于数据分析和统计建模的语言。麦语言具有类似于R和Python的功能&#xff0c;并提供了一组丰富的数据处理、统计分析和机器学习的工具。麦语言主要用于解决复杂的商业和统计分析问题&#xff0c;并被广泛应用于…

CRM系统能帮助外贸企业提高哪些工作效率?

外贸企业的业务和客户遍布世界各地&#xff0c;更涉及不同的语言和文化。因此&#xff0c;管理客户信息、提高服务质量、扩大市场份额成为了外贸企业亟待解决的问题。针对这些情况&#xff0c;不少企业开始使用CRM客户管理系统。下面说说&#xff0c;外贸企业为什么要用CRM系统…

Spring面试题--Spring的bean的生命周期

这个问题比较困难&#xff0c;设计到了spring的底层&#xff0c;但是通过这个的学习&#xff0c;可以帮助我们了解Spring容器是如何管理和创建bean实例&#xff0c;以及方便调试和解决问题。 BeanDefinition bean的定义信息&#xff0c;Spring容器在进行实例化时&#xff0c;…

11-C++算法01-枚举排序

&#x1f4d6; C算法 在编程中&#xff0c;算法是解决问题的一系列步骤或规则。在C中&#xff0c;提供了丰富的算法库&#xff0c;可以方便地进行各种常见的算法操作。本篇学习笔记将介绍一些常见的排序算法&#xff0c;帮助你理解和应用这些算法。 &#x1f680; 枚举 &…

C语言VS Code 开发环境搭建

文章目录 官方文档安装拓展生成c_cpp_properties.json生成tasks.json生成launch.json测试Debug如何让程序debug完不退出&#xff1f;Windows版本的配置GDB和LLDB的区别 由于之前使用VS Code较少&#xff0c;缺少在VS Code上开发C程序的经验。本篇博文主要记录使用VS Code开发C程…

基于Tars高并发IM系统的设计与实现-基础篇2

基于Tars高并发IM系统的设计与实现-基础篇2 三大指标 高可用 分为服务高可用与存储高可用。 服务高可用 服务高可用要做到高可用必须具备两个特点&#xff1a; 负载均衡可横行扩展 当服务的请求量比较高的时候&#xff0c;一台服务不能满足需求&#xff0c;这时候需要多…

sklearn.preprocessing模块介绍

数据预处理 Binarizer: 二值化 用于将数值特征二值化。它将特征值与给定的阈值进行比较&#xff0c;并将特征值转换为布尔值&#xff08;0 或 1&#xff09;&#xff0c;取决于特征值是否超过阈值 Binarizer(*, threshold0.0, copyTrue)参数&#xff1a; threshold&#xf…

AGI—从GPT和大型语言模型中汲取的经验教训

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;计算机视觉研究院 学习群&#xff5c;扫码在主页获取加入方式 论文地址&#xff1a;https://arxiv.org/pdf/2306.08641.pdf 计算机视觉研究院专栏 Column of Computer Vision Institute 人工智能…

【计算机视觉 | 图像分类】arxiv 计算机视觉关于图像分类的学术速递(6月 29 日论文合集)

文章目录 一、分类|识别相关(12篇)1.1 Pseudo-Bag Mixup Augmentation for Multiple Instance Learning Based Whole Slide Image Classification1.2 Improving Primate Sounds Classification using Binary Presorting for Deep Learning1.3 Challenges of Zero-Shot Recognit…

万物分割SAM家族 越发壮大!HQ-SAM、FastSAM 和 FasterSAM(MobileSAM)

卧剿&#xff0c;6万字&#xff01;30个方向130篇&#xff01;CVPR 2023 最全 AIGC 论文&#xff01;一口气读完。 1、&#xff08;更高质量&#xff09;Segment Anything in High Quality 最近的 Segment Anything Model (SAM) 代表了分割模型的一大飞跃&#xff0c;有强大的零…

从零实现深度学习框架——Seq2Seq机器翻译实战

引言 本着“凡我不能创造的&#xff0c;我就不能理解”的思想&#xff0c;本系列文章会基于纯Python以及NumPy从零创建自己的深度学习框架&#xff0c;该框架类似PyTorch能实现自动求导。 &#x1f4a1;系列文章完整目录&#xff1a; &#x1f449;点此&#x1f448; 要深入理解…

【你哥电力电子】 THE BUCK-BOOST 升降压斩波电路2

BUCK-BOOST电路2 2023年1月30日 nige in Tongji University #elecEngeneer 上链 文章目录 BUCK-BOOST电路26. CCM非理想能量守恒平均分析6.1 CCM非理想大信号平均模型6.2 CCM等效大信号平均模型6.3 CCM的DC电路模型6.4 CCM的小信号线性电路模型6.5 CCM非理想小信号传递函数6.…