热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaSE(4):分支结构

文章目录1、分支结构1.1if分支结构1.2ifelse分支结构1.3ifelseifelse分支结构1.4switchcase分支结构1、分支结构1.1if分支结构if(条件表达




文章目录


  • 1、分支结构
    • 1.1 if分支结构
    • 1.2 if else分支结构
    • 1.3 if else if else分支结构
    • 1.4 switch case分支结构


1、分支结构

1.1 if分支结构

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

在这里插入图片描述


  • 判断条件表达式是否成立
    • 若成立,则执行语句块;
    • 若不成立,则跳过语句块;

/*
案例一:编程使用if分支结构查找两个整数中的最大值
*/
public static void main(String[] args) {

// 1.提示用户输入两个整数并使用变量记录
System.out.println("请输入两个整数:");
Scanner sc = new Scanner(System.in);
int ia = sc.nextInt();
int ib = sc.nextInt();

// 2.使用if分支结构找到最大值并打印
// 假设第一个数为最大值并记录
int max = ia;
if(ib > max) {
max = ib;
}
System.out.println("最大值是:" + max);
}

1.2 if else分支结构

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

在这里插入图片描述


  • 判断条件表达式是否成立
    • 若成立,则执行语句块1;
    • 若不成立,则执行语句块2;

/*
案例二:编程使用if else分支结构判断是否为负数和非负数
*/
// 1.提示用户输入一个整数并使用变量记录
System.out.println("请输入一个整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
// 2.使用if else分支结构判断负数和非负数并打印
if(num <0) {
System.out.println(num + "是负数!");
} else {
// 针对目前的非负数再次判断是正数还是零
if(num > 0) {
System.out.println(num + "是正数!");
} else {
System.out.println(num + "是零!");
}
}

1.3 if else if else分支结构

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

在这里插入图片描述


  • 判断条件表达式1是否成立:
    • 若成立,则执行语句块1;
    • 若不成立,则判断条件表达式2是否成立:
      • 若成立,则执行语句块2;
      • 若不成立,则执行语句块n;

/*
案例三:提示用户输入考试的成绩,使用if-else if-else分支结构判断所在等级并打印。
[90 ~ 100] 等级A
[80 ~ 89] 等级B
[70 ~ 79] 等级C
[60 ~ 69] 等级D
[0 ~ 59] 等级E
*/
// 1.提示用户输入考试成绩并使用变量记录
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
// 2.使用if else if else分支结构判断所在的等级并打印
if(score >= 90 && score <= 100) {
System.out.println("等级A");
} else if(score >= 80) {
System.out.println("等级B");
} else if(score >= 70) {
System.out.println("等级C");
} else if(score >= 60) {
System.out.println("等级D");
} else {
System.out.println("等级E");
}

1.4 switch case分支结构

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

在这里插入图片描述


  • 计算变量/表达式的数值 => 判断是否匹配字面值1:


    • 若匹配,则执行语句块1 => 执行break跳出当前结构
    • 若不匹配,则判断是否匹配字面值2:
      • 若匹配,则执行语句块2 => 执行break跳出当前结构
      • 若不匹配,则执行语句块n
  • switch()中支持的数据类型有: byte、 short、 char以及int类型,从jdk1.5开始支持枚举类型,从jdk1.7开始支持String类型。

/*
案例四:编程使用switch case分支结构实现考试成绩的等级判断
*/
// 1.提示用户输入考试成绩并使用变量记录 0 ~ 100
System.out.println("请输入您的考试成绩:");
Scanner sc = new Scanner(System.in);
int score = sc.nextInt();
// 2.使用switch case分支结构实现考试成绩的等级判断
switch(score / 10) {
case 10: System.out.println("等级A"); break;
case 9: System.out.println("等级A"); break;
case 8: System.out.println("等级B"); break;
case 7: System.out.println("等级C"); break;
case 6: System.out.println("等级D"); break;
default: System.out.println("等级E");
}


推荐阅读
  • 本文小编为大家详细介绍“Java中的逻辑结构模式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java中的逻辑结构模式有哪些”文章能帮 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • Linux环境下C语言实现定时向文件写入当前时间
    本文介绍如何在Linux系统中使用C语言编程,实现在每秒钟向指定文件中写入当前时间戳。通过此示例,读者可以了解基本的文件操作、时间处理以及循环控制。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析Spring启动过程
    本文详细介绍了Spring框架的启动流程,帮助开发者理解其内部机制。通过具体示例和代码片段,解释了Bean定义、工厂类、读取器以及条件评估等关键概念,使读者能够更全面地掌握Spring的初始化过程。 ... [详细]
  • Linux环境下进程间通信:深入解析信号机制
    本文详细探讨了Linux系统中信号的生命周期,从信号生成到处理函数执行完毕的全过程,并介绍了信号编程中的注意事项和常见应用实例。通过分析信号在进程中的注册、注销及处理过程,帮助读者理解如何高效利用信号进行进程间通信。 ... [详细]
  • 本题来自WC2014,题目编号为BZOJ3435、洛谷P3920和UOJ55。该问题描述了一棵不断生长的带权树及其节点上小精灵之间的友谊关系,要求实时计算每次新增节点后树上所有可能的朋友对数。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 并发编程 12—— 任务取消与关闭 之 shutdownNow 的局限性
    Java并发编程实践目录并发编程01——ThreadLocal并发编程02——ConcurrentHashMap并发编程03——阻塞队列和生产者-消费者模式并发编程04——闭锁Co ... [详细]
  • 深入解析 Android IPC 中的 Messenger 机制
    本文详细介绍了 Android 中基于消息传递的进程间通信(IPC)机制——Messenger。通过实例和源码分析,帮助开发者更好地理解和使用这一高效的通信工具。 ... [详细]
  • Java多线程实现:从1到100分段求和并汇总结果
    本文介绍如何使用Java编写一个程序,通过10个线程分别计算不同区间的和,并最终汇总所有线程的结果。每个线程负责计算一段连续的整数之和,最后将所有线程的结果相加。 ... [详细]
  • 深入解析Java多线程与并发库的应用:空中网实习生面试题详解
    本文详细探讨了Java多线程与并发库的高级应用,结合空中网在挑选实习生时的面试题目,深入分析了相关技术要点和实现细节。文章通过具体的代码示例展示了如何使用Semaphore和SynchronousQueue来管理线程同步和任务调度。 ... [详细]
  • x86x64体系探索及编程(对x86处理器介绍得最详尽又最具实践指导意义的一本书)邓志著ISBN978-7-121-18176-42012年10月出版定价:119.00元16开840页对x86处理 ... [详细]
author-avatar
大佬銘銘銘銘銘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有