4.分支与循环

逻辑控制分为三部分:

1.顺序结构---》顺序执行代码

2.分支结构---》if语句和switch语句

3.循环执行---》for语句 while语句 和do while语句

顺序结构比较简单,按照代码书写的顺序一行一行执行

分支结构(if、switch语句)

也就是选择执行其中一个(但在语法格式1中 可以选择执行)

if语句

1.语法格式1

if(布尔表达式){

//语句

}

如果布尔表达式为真 则执行花括号中的语句 否则不执行

如:

2.语法格式2

if(布尔表达式){

//语句1

}else{

//语句2

}

如果布尔表达式为true 则执行if中的语句 否则执行else中语句

如:

3.语法格式3

if(布尔表达式1){

//语句1

}else if(布尔表达式2){

//语句2

}else{

//语句3

}

布尔表达式1成立 执行语句1  布尔表达式2成立 执行语句2 否则执行语句3

例如

悬垂else问题

if/else语句中可以不加大括号----此时只能写一条语句 此时else是和最接近的if匹配

 但不建议这样写  我们推荐加上大括号

注意:

1.条件表达式必须是布尔类型的

2.选择语句 也意味着 会选择一个条件为真的去执行(但在语法格式1中 如果为假 则不执行--会跳过该语句)

Switch语句

基本语法

执行流程:

1.先计算表达式的值

2.和case的常量值依次比较 有相同的 则执行那条语句 直到遇到break时结束

3.当表达式的值和case的常量值没有相同的 则执行default语句

注意:

1.多个case后的常量值不能重复

2.switch的括号中 只能是以下类型的表达式:

基本类型:byte、char、short、int、注意不能是long、float、double、boolean类型

引用类型:String常量串、枚举类型

I. break不要遗漏  否则会失去“多分支选择“的效果 即:会一直执行case后的语句 直到遇到break结束

II. switch不能表达复杂的条件

循环结构

While循环

基本语法格式:

while(循环条件){

 循环语句;

}

循环条件为true 则执行循环语句 否则结束循环

例如:计算1~100的和

注意事项

1.  if 类似, while 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上{ }

2.  if 类似, while 后面的 { 建议和 while 写在同一行.

3.  if 类似, while 后面不要多写 分号, 否则可能导致循环不能正确执行

break

break的功能是让循环提前结束

例如:找到100~200中第一个3的倍数

执行到break就让循环结束

continue

continue的功能是跳过此次循环 立即进入下次循环

例如:找到 100 - 200 中所有 3 的倍数

执行到 continue 语句的时候, 就会立刻进入下次循环(判定循环条件), 从而不会执行到下方的打印语句

for 循环

基本语法:

for(表达式1;布尔表达式2;表达式3){

表达式4;

}

表达式1:用于初始化循环变量 在循环最开始时执行,且只执行一次

表达式2: 循环条件,满足该循环调教则循环继续,否则循环结束

表达式3: 循环变量更新方式

执行过程

①②③④--->②③④--->②③④--->②③④--->②③④--->②③④--->...--->②为false,循环结束

例如:计算1~100的和

注意事项(while循环类似)

1.  if 类似, for 下面的语句可以不写 { } , 但是不写的时候只能支持一条语句. 建议还是加上 { }

2.  if 类似, for 后面的 { 建议和 while 写在同一行.

3.  if 类似, for 后面不要多写 分号, 否则可能导致循环不能正确执行.

4. while循环一样,结束单趟循环用continue,结束整个循环用break

do while 循环

基本语法:

do{

循环语句;

}while(循环条件);

先执行循环语句, 再判定循环条件,循环条件成立则继续执行,否则循环结束

例如:打印1~10的整数

注意事项

1. do while 循环最后的分号不要忘记

2. 一般 do while 很少用到, 更推荐使用 for  while

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

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

相关文章

StarCloud开源行动:激发算力调度的创新潜力

01 关于StarCloud OpenCSG StarCloud 是一个集开源系统(Kubernetes ,K8S)与高性能计算(High Performance Computing,HPC)一体的混合算力调度平台。它专注于大模型训练和推理,并提供一站式服务,包括从训练到部署,以及多模型比较等。除了在人…

【OpenVINO™】在 C# 中使用OpenVINO™ 部署PP-YOLOE实现物体检测

前言 OpenVINO™ C# API 是一个 OpenVINO™ 的 .Net wrapper,应用最新的 OpenVINO™ 库开发,通过 OpenVINO™ C API 实现 .Net 对 OpenVINO™ Runtime 调用,使用习惯与 OpenVINO™ C API 一致。OpenVINO™ C# API 由于是基于 OpenVINO™ 开发…

DevOps 温故知新

【引】伴随着微服务架构以及云技术的广泛使用,DevOps相应地引起了人们的关注,尤其在互联网企业展开了大量的探索和实践。去年赋闲在家的时候, 有幸精读了三本书,分别是《持续架构实践——敏捷和DevOps时代下的软件架构》&#xff…

Linux安装MySQL(CentOS 7)

安装步骤 下载的MySQL版本为mysql-8.0.26 进入网站MySQL,点击下载 找到mysql社区版 点击Archive,查看所有相关不同版本 点击MySQL Community Server 注意下载MySQL对应的Linux版本,CentOS7 对应 Linux7,如果下成Linux 8 则后面…

解决SpringBoot整合MyBatis和MyBatis-Plus,请求后不打印sql日志

问题发现 在整合springBootmyBatis时,发现请求不打印sql日志,示例代码如下: RestController public class MyController {AutowiredProductMapper productMapper;GetMapping("/test")public void test() {System.out.println(&qu…

全国大学生数学建模竞赛【集训营E题】丨 近5年赛题实现,模拟参赛体验

全国大学生数学建模竞赛E题集训营即将开营 基于Python的近5年E题数学建模基础巩固 近5年E题赛题实现 模拟参赛体验与作品评审

数据库笔记-【视图】

视图 视图通俗是企业想展示给用户看的,数据库存储的数据有很多,但是也有很多是不能对外公开的,做项目的过程就通过视图这个媒介达到这种效果 视图也可以保证数据库表结构字段的隐私安全等 create or replace view stu_v_1 as select id st…

✨✨使用vue3打造一个el-form表单及高德地图的关联组件实例✨

✨1. 实现功能 🌟表单内显示省市县以及详细地址 点击省市县输入框时,打开对应地图弹窗,进行位置选择选择位置回显入对应输入框表单内的省市县以及地址输入框同外嵌表单走相同的校验方式触发校验后点击reset实现清除校验与清空数据 &#x1f…

Base64在线编码解码方法

Base64在线编码解码 打开网站 在线工具网-梦幻加菲猫 选择“Base64编码解码” 输入需要编码/解码的内容,点击“编码”/“解码”按钮 编码: 解码: 4. 复制已经编码/解码后的内容。

【云原生】Kubeadm搭建K8S

一、部署Kubernetes 实验环境 服务器主机名IP地址主要组件k8s集群master01 etcd01master01192.168.10.100kube-apiserver kube-controller-manager kube-schedular etcdk8s集群node01 etcd02node01192.168.10.101kubelet kube-proxy docker flannelk8s集群node02 etcd03nod…

数据结构-题目

1.已知一颗完全二叉树的第6曾(设根为第1层),有8个结点,则完全二叉树的结点个数,最少和最多分别是多少? 因此最少为39,最多为111 2.假设一棵三叉树的结点数为50,则它的最小高度为&…

【声呐仿真】学习记录3-待续

【声呐仿真】学习记录3-后续 第五阶段-获取数据1.运行赫尔库勒斯沉船的世界:2.键盘操纵rov至合适的位置,调整Image topic,查看输出图像3.RVIZ SONAR 图像查看器插件(没有对应的topic)4.点云5.录制rosbag 第六阶段-查看…

守护数据安全:精选七款数据加密软件

在数字化日益普及的今天,数据安全成为了企业和个人不可忽视的重要问题。加密软件作为数据安全的第一道防线,扮演着至关重要的角色。本文将为读者精选七款优秀的加密软件,帮助大家更好地守护数据安全。 Ping32数据加密软件 Ping32数据加密软…

Timestamp Unix时间戳在线转换

Timestamp Unix时间戳在线转换 打开网站 在线工具网-梦幻加菲猫 选择“时间戳转换” 在前半部分输入框输入时间/时间戳,点击“转换>>”按钮,即可转换完成 得到转换结果

Python自动化SQL注入和数据库取证工具库之sqlmap使用详解

概要 在网络安全领域,SQL注入仍然是最常见的攻击之一。sqlmap是一个开源的自动化SQL注入和数据库取证工具,它提供了广泛的功能来检测和利用SQL注入漏洞。本文将详细介绍sqlmap的安装、特性、基本与高级功能,并结合实际应用场景,展示其在网络安全测试中的应用。 安装 sqlm…

银行监管报送系统系列介绍(十七):一表通2.0

国家金融监督管理总局于9月发布了【一表通2.0(试用版)】(简称:一表通2.0),在原试点报送范围的基础上扩大了试点报送区域,意味着将陆续扩大试报送机构范围,推进的速度已明显加快。尽早…

HQChart使用教程98-右键菜单2.0使用介绍

HQChart使用教程98-右键菜单2.0使用介绍 内置右键菜单启用右键菜单定制右键菜单内容1. 注册内置右键菜单创建回调事件2. 修改内置菜单的显示内容回调函数格式菜单数据结构示例 3. 注册菜单项点击事件回调 右键事件完整示例HQChart代码地址 内置右键菜单 HQChart h5版本内置提供…

Spring Boot + Mybatis-plus代码生成器 自动生成项目结构

首先创建一个新的springboot项目 项目初始化结构如下: 运行自动生成结构代码后的效果如下: 对比初始化项目结构可以发现结构中多了以下几个部分; controller文件夹存储接口类mapper文佳夹存储数据库映射model文件夹存储数据库模型类Service文件夹存储业…

未授权访问:Docker未授权访问漏洞

目录 1、漏洞原理 2、环境搭建 3、未授权访问 4、通过crontab反弹宿主机shell 防御手段 今天继续学习各种未授权访问的知识和相关的实操实验,一共有好多篇,内容主要是参考先知社区的一位大佬的关于未授权访问的好文章,还有其他大佬总结好…

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍

万字长文带你掌握 IDEA 2024 的30个Debug调试绝技,让你开发与修复 Bug 的效率提升亿倍 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — …