Java 流程控制语句

程序设计中规定的三种流程结构,即:

  • 顺序结构
    程序从上到下逐行地执行,中间没有任何判断和跳转

  • 分支结构
    根据条件,选择性地执行某段代码
    if…elseswitch-case 两种分支语句

  • 循环结构
    根据循环条件,重复性的执行某段代码。
    forwhiledo-while三种循环语句。
    补充:JDK5.0 提供了foreach循环,方便的遍历集合、数组元素

顺序结构

顺序结构就是程序从上到下逐行地执行。表达式语句都是顺序执行的
在这里插入图片描述

分支语句

if-else

  • 结构1:单分支条件判断

    if(条件表达式){语句块;

    在这里插入图片描述

  • 结构2:双分支条件判断

    if(条件表达式) { 语句块1;
    }else {语句块2;
    }
    

    在这里插入图片描述

  • 多分支条件判断

    if (条件表达式1) {语句块1;
    } else if (条件表达式2) {语句块2;
    }
    ...
    }else if (条件表达式n) {语句块n;
    } else {语句块n+1;
    }
    

    在这里插入图片描述

switch-case

switch(表达式){case 常量值1:语句块1;//break;case 常量值2:语句块2;//break; // ...default:语句块n+1;break;}

在这里插入图片描述
注意点

  • switch 中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举 (jdk 5.0),String (jdk 7.0)
  • case 子句中的值必须是常量,不能是变量名或不确定的表达式值或范围
  • break语句用来在执行完一个case分支后使程序跳出switch语句块。如果没有break,程序会顺序执行到switch结尾
  • case 一旦匹配成功,除非遇到 break 或者语句执行结束,不然后续所有的 case 语句不会判断,直接执行语句

if-else 和 switch-case 比较

凡是使用 switch-case 的结构都可以转换为 if-else 结构
如果既可以使用 switch-case,又可以使用 if-else,建议使用 switch-case。因为效率稍高

循环语句

for 循环

for (①初始化部分; ②循环条件部分; ④迭代部分){③循环体部分;

执行过程: ①-②-③-④-②-③-④-②-③-④-…-②

在这里插入图片描述

while 循环

①初始化部分
while(②循环条件部分){③循环体部分;④迭代部分;
}

执行过程: ①-②-③-④-②-③-④-②-③-④-…-②

在这里插入图片描述

do-while 循环

①初始化部分;
do{③循环体部分④迭代部分
}while(②循环条件部分); 

执行过程: ①-③-④-②-③-④-②-③-④-…-②
在这里插入图片描述

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

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

相关文章

DRF从入门到精通九(权限控制)

文章目录 一、权限控制模型1) ACL(Access Control List,访问控制列表)2) RBAC(Role-Based Access Control,基于角色的访问控制)应用前后台权限控制实操 3) ABAC(Attribute-Based Access Control,基于属性的访问控制) 一、权限控制模型 1) ACL(Access Control List,访问控制列表…

郑州大学算法设计与分析实验2

判断题 1 #include<bits/stdc.h> using namespace std;const int N 50; int f[N], n;int main() { // freopen("1.in", "r", stdin);ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> n;f[1] 1; f[2] 1;for(int i 3; i &l…

数字IC后端实现之快速获取innovus中drv violation的所有net list

在Innovus中place_opt_design和optDesign阶段&#xff0c;我们经常会看到如下所示的log提示信息&#xff0c;核心关键词是“ Reasons for remaining drv violations”。而且告诉我们总共有819条net存在drv violation&#xff0c;且无法被工具优化掉。 Reasons for remaining dr…

深入理解 Golang 中的值类型和引用类型

目录 Golang 的内存模型 值类型 引用类型 值类型与引用类型在函数传递中的差异 指针类型&#xff08;Pointer Types&#xff09; 值类型与引用类型的比较 小结 在 Golang 中&#xff0c;数据类型可以分为两大类&#xff1a;值类型&#xff08;Value Types&#xff09;和…

ARM Cortex-Mx 权威指南笔记

用于中断或异常屏蔽特殊寄存器细节 1、PRIMASK 在许多应用中,可能都需要暂时禁止所有中断以执行一些时序关键的任务&#xff0c;此时可以使用PRIMASK寄存器。PRIMASK寄存器只能在特权状态访问。PRIMASK 用于禁止除NMI和 HardFault 外的所有异常它实际上是将当前优先级改为0(最…

图解设计模式-中介者模式(Mediator)

中介者模式 定义 使用一个中介者对象&#xff08;mediator&#xff09;集中封装多个具有依赖/关联关系的对象&#xff08;colleague&#xff0c;同事对象&#xff09;之间的交互&#xff0c;使各对象之间不再互相引用&#xff0c;降低对象之间的强耦合程度&#xff0c;对象之…

CTF之Misc杂项干货

目录 一、常见编码 二、文件分析与处理 三、隐写工具与命令 四、隐写术实例 一、常见编码 1、base家族 2、进制转换 3、摩斯、希尔、凯撒、仿射、栏栅、维吉尼亚、培根、键盘、rabbit、rot13、AES、md5、RSA等 &#xff08;md5、RSA可能不会出现在杂项里&#xff0c;但…

【算法题】38. 外观数列

题目 给定一个正整数 n &#xff0c;输出外观数列的第 n 项。 「外观数列」是一个整数序列&#xff0c;从数字 1 开始&#xff0c;序列中的每一项都是对前一项的描述。 你可以将其视作是由递归公式定义的数字字符串序列&#xff1a; countAndSay(1) "1" countAn…

pytorch集智-1安装与简单使用

1 安装 1.1 简介 pytorch可用gpu加速&#xff0c;也可以不加速。gpu加速是通过cuda来实现&#xff0c;cuda是nvidia推出的一款运算平台&#xff0c;它可以利用gpu提升运算性能。 所以如果要装带加速的pytorch&#xff0c;需要先装cuda&#xff0c;再装pytorch&#xff0c;如…

2023年第2季社区Task挑战赛贡献者榜单

基于FISCO BCOS及Weldentity&#xff0c;实现SSO单点登录服务&#xff1b;提供食品溯源、电商运费险7天退保、电子病历等智能合约库业务场景案例&#xff1b;基于FISCO BCOS更新游戏体验&#xff1b;体验并分析解读最新发布的分布式数据协作管理解决方案DDCMS&#xff0c;提供相…

计算机网络——网关或代理

1. 网关或代理的概念 网络中的代理服务器&#xff08;proxy&#xff09;或网关&#xff08;passerelle&#xff09;的概念。 在OSI模型的各个层次中&#xff0c;代理或网关充当中间实体&#xff0c;可以在不同的层次上提供连接和转发功能。 2. 代理或网关工作层次 在这种配置中…

Java学校教务管理系统源码带微信小程序

运行环境&#xff1a;jdk8mysql5.7IntelliJ IDEAmaven 技术&#xff1a;springbootmybatislayuishirojquery 教务管理系统是一个基于网络的在线管理平台, 帮助学校管理教务系统&#xff0c;用一个帐号解决学校教务教学管理&#xff0c; 灵活的定制符合学校自己实际情况的教务系…

网络连通性批量检测工具

一、背景介绍 企业网络安全防护中&#xff0c;都会要求配置物理网络防火墙以及主机防火墙&#xff0c;加强对网络安全的防护。云改数转之际&#xff0c;多系统上云过程中都会申请开通大量各类网络配置&#xff0c;针对这些复杂且庞大的网络策略开通配置&#xff0c;那么在网络配…

使用Go语言实现RESTful API

RESTful架构是一种设计风格&#xff0c;用于构建网络应用程序的API。它基于HTTP协议&#xff0c;并使用不同的HTTP方法&#xff08;如GET、POST、PUT、DELETE等&#xff09;来处理不同的操作。在Go语言中&#xff0c;我们可以使用标准库中的net/http包来实现RESTful API。 下面…

【Axure高保真原型】树形表格_多选效果

今天和大家分享树形表格_多选效果的原型模板&#xff0c;点击树的箭头可以展开或者收起子节点&#xff0c;点击多选按钮可以选中或取消选择该行以及子级行内容&#xff0c;同时反选父级行内容&#xff0c;父级行内容能根据子级选中的数量自动反选&#xff0c;包括全选、半选和未…

Java8中list转map方法总结

背景 在最近的工作开发之中&#xff0c;慢慢习惯了很多Java8中的Stream的用法&#xff0c;很方便而且也可以并行的去执行这个流&#xff0c;这边去写一下昨天遇到的一个list转map的场景。 list转map在Java8中stream的应用 常用方式 1.利用Collectors.toMap方法进行转换 pu…

SpringBoot学习(三)-整合JDBC、Druid、MyBatis

注&#xff1a;此为笔者学习狂神说SpringBoot的笔记&#xff0c;其中包含个人的笔记和理解&#xff0c;仅做学习笔记之用&#xff0c;更多详细资讯请出门左拐B站&#xff1a;狂神说!!! 一、整合JDBC使用&#xff08;理解&#xff09; 创建项目 勾选依赖启动器 查看依赖 …

Electron介绍

前言 相信很多的前端小伙伴都想过一个问题&#xff0c;web技术是否可以用于开发桌面应用。答案当然是可以的&#xff0c;Electron框架就是其中的一种解决方案。 Electron介绍 Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 Electron 并不是一门新的…

FreeRTOS——互斥信号量知识总结及其实战

1互斥信号量的概念 1&#xff09;互斥信号量&#xff1a;是一个拥有优先级继承的二值信号量&#xff0c;在同步的应用中二值信号量最适合。互斥信号量适合用于那些需要互斥访问的应用中&#xff01; 2&#xff09;优先级继承&#xff1a;当一个互斥信号量正在被一个低优先级的…

python统计分析——直方图(df.hist)

使用dataframe.hist()或series.hist()函数绘制直方图 import numpy as np import pandas as pd from matplotlib import pyplot as plt.dfpd.DataFrame(data{type:[A,A,A,A,A,A,A,A,A,A,B,B,B,B,B,B,B,B,B,B],value:[2,3,3,4,4,4,4,5,5,6,5,6,6,7,7,7,7,8,8,9] }) serpd.Serie…