当前位置: 首页 > news >正文

Java入门基础学习笔记22——程序流程控制

程序流程控制:控制程序的执行顺序。

程序有哪些执行顺序?

顺序、分支和循环。

分支结构:

if、switch

循环:

for、while、do-while

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

if分支:

根据条件(真和假)来决定执行某段代码。

说明:单分支、双分支、多分支。

package cn.ensource.branch;import java.util.Scanner;public class IfDemo1 {public static void main(String[] args) {// 目标:需要同学们掌握If分支的三种形式的用法和执行流程// 需求:测量用户体温、发现体温高于37度就报警double t = 38.9;if (t > 37) {System.out.println("这个人温度异常!");}// 需求:发红包、你的钱包余额是99元,现在要发出90元。// 如果钱够,触发发红包的动作,如果钱不够,则提示余额不足:double money = 99;if (money >= 90) {System.out.println("发红包成功了!");}else {System.out.println("余额不足!");}// 需求3: 某个公司有一个绩效系统,根据员工的打分输出对应的绩效级别。// [0-60] D [60-80] C [80-90] B [90-100] AScanner sc = new Scanner(System.in);System.out.println("请输入员工积分:");int score = sc.nextInt();if (score >= 0 && score < 60) {System.out.println("D");}else if(score >= 60 && score < 80) {System.out.println("C");}else if(score >= 80 && score < 90) {System.out.println("B");}else if(score >= 90 && score <= 100) {System.out.println("A");}else {System.out.println("您输入的积分有问题!");}}
}

如果if语句的{}中只有一行代码的情况,{}可以省略不写(但不推荐省略)。

import java.util.Scanner;public class Main {public static void main(String[] args) {System.out.println("start");Scanner sc = new Scanner(System.in);System.out.println("Please input a number(1-7):");int week = sc.nextInt();if(week == 1) {System.out.println("Monday");} else if(week == 2) {System.out.println("Tuesday");} else if(week == 3) {System.out.println("Wednesday");} else if(week == 4) {System.out.println("Thursday");} else if(week == 5) {System.out.println("Friday");} else if (week == 6) {System.out.println("Saturday");} else {System.out.println("Sunday");}System.out.println("End");}
}

switch分支:

是通过比较值来决定执行哪条分支。

switch分支的执行流程:

1)先执行表达式的值,再拿着这个值去与case后的值进行匹配;

2)与哪个case后面的值匹配值为true,就执行哪个case块的代码,遇到break,就跳出switch分支。

3)如果全部case后的值与之匹配都是false,则执行default块的代码。

案例:

package cn.ensource.branch;import java.util.Scanner;public class SwitchDemo2 {public static void main(String[] args) {//switch语句Scanner sc = new Scanner(System.in);System.out.println("请输入星期信息(示例:周一):");String week = sc.nextLine();switch (week) {case "周一":System.out.println("埋头苦干,解决bug。");break;case "周二":System.out.println("请大牛程序员帮忙。");break;case "周三":System.out.println("今晚啤酒、龙虾、小烧烤。");break;case "周四":System.out.println("主动帮助新来的女程序员解决bug。");break;case "周五":System.out.println("今晚吃鸡。");break;case "周六":System.out.println("与王婆介绍的小芳相亲。");break;case "周日":System.out.println("郁郁寡欢,准备上班。");break;default:System.out.println("您输入的星期信息不对!");}}
}

if、switch的比较,以及各自适合的应用场景?

if语句功能上远远强于switch。swith语句能搞定的事情,if都可以搞定。

如果当前的条件是区间的话,应该使用if分支结构。

当条件是与一个一个值比较的时候,switch分支是更合适的,格式良好、性能更好、代码优雅。

快速定位某个语句。

switch语句使用时的注意事项:

1)表达式类型只能是byte、short、int、char,JDK5开始支持枚举,JDK7开始支持String、不支持Double、float、long。

long的值很大,分支很大,就没有意义了。

double类型在运算的时候,可能是不精确的。底层的运算机制。

2)case给出的值不允许重复,且只能是字面量,不能是变量。

3)正常使用switch语句的时候,不要忘记写break,否则会出现穿透现象。

忘记写break语句,程序继续往下执行。

Switch穿透性在某些情况下可以简化代码。

当存在多个case分支的代码相同的时候,可以把相同的代码放到一个case块中,其他的case块都通过穿透性透到该case执行代码即可,这样可以简化代码。

这样,很明显,代码简化了。

http://www.lryc.cn/news/349906.html

相关文章:

  • java医院信息系统HIS源码SaaS模式Java版云HIS系统 接口技术RESTful API + WebSocket + WebService
  • 2024年成都高新区支持企业申报国家、省级、市级大数据产业发展、新一代信息技术与制造业融合发展、工业互联网推广应用等试点示范项目申报对象条件和奖补
  • 让《行列视》解放数据力量,提升业务洞察
  • LeetCode 每日一题 ---- 【2244.完成所有任务需要的最少轮数】
  • 【RAG 去噪】引入 NLI 模型来为 RAG 去噪
  • SQLite利用事务实现批量插入(提升效率)
  • 使用Python处理Excel数据:去除列中的双引号
  • 未来互联网:Web3的技术革新之路
  • 【练习】分治--快排思想
  • Unity读书系列《Unity高级编程:主程手记》——C#技术要点
  • Redis分片集群
  • Math.Round()函数说明
  • 001 定期同步mysql数据到es 删除数据库记录同时删除es记录 es全文搜索分词和高亮
  • Vue 快速入门:Vue初级
  • 什么是IP跳变?
  • Linux服务器lvm磁盘管理fdisk和df磁盘大小不同修改
  • AOP是什么和OOP的区别
  • Clickhouse 字符串函数 - 2
  • 【个人成长】Fitten Code 测试案例分析
  • 管理Anaconda虚拟环境的实用指南
  • python如何在图片上写斜体字
  • 算法练习第22天|39. 组合总和、40.组合总和II
  • CCF PTA 2022年11月C++大富翁游戏
  • React获取form表单值的N种方式
  • Apache Knox 2.0.0使用
  • Tomcat 内核详解 - Web服务器机制
  • 几个人脸库对于面部动作识别的功能比较
  • IDEA 使用Alibaba Cloud Toolkit 实现远程 自动部署
  • 蓝桥杯备战15.完全二叉树的权值
  • 【前端】LayUI监听事件汇总