尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

Day 007 顺序结构与选择结构-Java流程控制

Day 007 顺序结构与选择结构-Java流程控制
📅 发布时间:2026/6/23 10:28:43
Day 007 顺序结构与选择结构-Java流程控制

Java流程控制

顺序结构

  • java的基本结构就是顺序结构,除非特别指明,否则就是按照顺序逐句执行
  • 顺序结构是最简单的算法结构。语句与语句之间,框与框之间是按从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,是任何一个算法都离不开的一种基本算法结构。

image-20250916013226904

package com.feihong.struct;public class ShunXuDemo {public static void main(String[] args) {System.out.println("hello1");System.out.println("hello2");System.out.println("hello3");System.out.println("hello4");System.out.println("hello5");/*程序会从上到下依次执行,按顺序输出:hello1、hello2、hello3、hello4、hello5顺序结构也是结构*/}
}

选择结构*

if单选择结构

  • 需要判断一个事情是否满足条件再去执行,就可以用if语句来表示

  • 语法:

if(布尔表达式(=true不写就是默认的),即判断的条件){//如果布尔表达式为true即满足判断条件之后将执行的语句
}
//布尔表达式为false,即不满足判断条件则会直接跳过

image-20250916014228934

package com.feihong.struct;import java.util.Scanner;public class IfDemo01 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入内容:");String s=scanner.nextLine();//equals:判断字符串是否相等if (s.equals("Hello")){System.out.println(s);}System.out.println("End");scanner.close();}
}

if双选择结构

  • 需要判断一个事情满足判断条件下执行一个命令或不满足判断条件下执行一个命令,需要有两个判断,就需要一个双选择结构,即if-else结构。
  • 语法:
if(布尔表达式){//如果布尔表达式=true执行的命令
}else{//如果布尔表达式=false执行的命令
}

image-20250916020533749

package com.feihong.struct;import java.util.Scanner;public class IfDemo02 {public static void main(String[] args) {//考试分数大于600就是及格,小于60分就不及格。Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");double score =scanner.nextDouble();if (score>=60){System.out.println("及格");}else{System.out.println("不及格");}scanner.close();}
}

if多选择结构

  • 很多时候一个事情存在区间多级判断,比如成绩排名,10090是A,8970是B,69~60是C,60以下是D,这就需要一个多选择结构来处理这类问题!
  • 语法:
if(布尔表达式1){//如果布尔表达式1=true执行的命令
}else if(布尔表达式2){//如果布尔表达式2=true执行的命令
}else if(布尔表达式3){//如果布尔表达式3=true执行的命令
}else {//如果以上布尔表达式都为false执行的命令
}

image-20250916023929814

package com.feihong.struct;import java.util.Scanner;public class IfDemo03 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入成绩:");double score=scanner.nextDouble();if (score<=100&&score>=90){System.out.println("成绩为A");} else if (score<90&&score>=80) {System.out.println("成绩为B");} else if (score<80&&score>=60) {System.out.println("成绩为C");} else if (score<60&&score>=0) {//逻辑要尽量严谨System.out.println("成绩为D");}else {//else语句必须有,且必须要在最后System.out.println("非法成绩");}scanner.close();    }
}

嵌套的if结构

  • 可以在一个if或者else if语句中使用另一个if或者else if语句。
  • 语法:
if(布尔表达式1){//如果布尔表达式1为true执行代码if(布尔表达式2){//如果布尔表达式2为true执行代码}
}

switch多选择结构

  • switch case语句也能够实现多选择结构,其判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
  • switch语句中的变量类型可以是:
    1. byte、short、int或者char。
    2. 从Java7开始switch支持字符串(String)类型了。同时case标签必须为字符串常量或字面量。
switch (expression){case value :////语句break;//可选case value ://语句break;//可选//可以有任意数量的case语句default://可选,即其他值都不符合时,运行此项//语句}
package com.feihong.struct;public class SwitchDemo01 {public static void main(String[] args) {//case穿透:没有加break的即使与值不相符也会执行   //switch在于匹配一个具体的值char grade='C';switch (grade){case'A':System.out.println("优秀");break;//grade为A,语句后加了break,运行到此终止,后面的不会显示。case'B':System.out.println("良好");case'C':System.out.println("及格");//grade为C,语句没有加brake,其他没加break的语句也会显示case'D':System.out.println("不及格");case'E':System.out.println("挂科");default:System.out.println("未知");/*char grade='C'时输出为:及格不及格挂科未知char grade='A'时输出为:优秀char grade='F'时输出为:未知*/}}
}

所以如果只要匹配值输出的话,就要在每一句case语句后加上一个break。default语句就不需要加break了。

package com.feihong.struct;public class SwitchDemo02 {public static void main(String[] args) {//字符的本质还是数字//反编译 Java-----class(字节码文件)-----反编译(idea就可以)String name="飞鸿";switch (name){case "阿碧":System.out.println("阿碧");break;case "罗锅":System.out.println("罗锅");break;case "飞鸿":System.out.println("飞鸿");break;default:System.out.println("都没有!");}}
}
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//package com.feihong.struct;public class SwitchDemo02 {public SwitchDemo02() {super();}public static void main(String[] args) {switch ("\u98de\u9e3f") {case "\u963f\u78a7":System.out.println("\u963f\u78a7");break;case "\u7f57\u9505":System.out.println("\u7f57\u9505");break;case "\u98de\u9e3f":System.out.println("\u98de\u9e3f");break;default:System.out.println("\u90fd\u6ca1\u6709\uff01");}}
}

反编译后文档,可以看到字符串原理是将字符串转为hascode,即字符串的数字代码形式,然后进行比较,完全相同的就执行。

image-20250917004714724

image-20250918003021092

image-20250917005230912

image-20250917005009056

image-20250918003141385

相关新闻

  • 单元测试之Mockito使用
  • 《原子习惯》-读书笔记4
  • Maven的配置

最新新闻

  • 机器学习入门:逻辑回归原理、损失函数与梯度下降推导
  • 适合小白的嵌入式软件项目(C++)详解-----卡码缓存系统(二)实现最简单缓存
  • 新e选烤火罩异味[主面料] QB/T 4045—2010 5.8 判定符合检测标准与测试条件
  • 计算机毕业设计之基于jsp新能源汽车租赁系统
  • 做 excel 表格用哪个智谱清言软件文档导出,AI 导出鸭专业适配表格导出,结构精准无需手动调整
  • eclipse设置豆沙绿背景色

日新闻

  • Arduino-ESP32项目深度解析:解锁隐藏芯片支持与架构演进
  • 2026年 系统窗厂家/品牌推荐榜单:隔音系统窗+高端系统门窗的核心优势与选购指南 - 品牌发掘
  • NVBench:首个双语非言语发声语音合成评测基准详解与实践

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号