第5周 5.1 顺序与选择结构

news/2024/11/16 23:06:08/文章来源:https://www.cnblogs.com/bcd589/p/18438282

5.1 顺序与选择结构

5.1.1 顺序结构

顺序结构是程序中最简单、最基本的流程控制结构,它按照程序中语句出现的先后顺序依次执行,直到程序的结束。
顺序结构示例:

   public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}//上述程序中,只有一条语句`System.out.println("Hello, World!");`,它按照顺序执行,输出"Hello, World!"。

5.1.2 选择结构

选择结构又叫分支结构,是根据条件表达式的值来决定程序的执行路径。Java语言提供了两种选择结构:if语句和switch语句。

5.1.2.1 if语句

if语句用于根据条件的真假来决定程序的执行路径。if语句有三种形式:if语句、if-else语句和if-else if-else语句。

if语句:if语句用于根据条件表达式的值来决定是否执行某段代码。如果条件表达式的值为true,则执行if语句块中的代码;如果条件表达式的值为false,则不执行if语句块中的代码。

1.单分支结构

if (条件表达式) {// 条件为真时执行的代码块
}

示例:

int num = 10;
if (num > 0) {System.out.println("num是正数");
}
System.out.println("程序结束");

2.双分支结构

if (条件表达式) {// 条件为真时执行的代码块
} else {// 条件为假时执行的代码块
}

示例:

int num = 10;
if (num > 0) {System.out.println("num是正数");
} 
else {System.out.println("num是负数");
}
System.out.println("程序结束");

3.多分支结构

if (条件表达式1) {// 条件1为真时执行的代码块
} else if (条件表达式2) {// 条件2为真时执行的代码块
} else if (条件表达式3) {// 条件3为真时执行的代码块
} else {// 所有条件都为假时执行的代码块
}

示例:

int num = 10;
if (num > 0) {System.out.println("num是正数");
} 
else if (num < 0) {System.out.println("num是负数");
} 
else {System.out.println("num是零");
}
System.out.println("程序结束");

多分支结构典型应用,求一元二次方程的根。中国古代数学家秦九韶提出了“秦九韶算法”,该算法可以用来求解一元二次方程。一元二次方程的一般形式为:ax2+bx+c=0,其中a、b、c为常数,且a≠0。根据判别式b2-4ac的值,可以判断方程的根的情况:

import java.util.Scanner;Scanner input = new Scanner(System.in);System.out.print("请输入a的值:");double a = input.nextDouble();System.out.print("请输入b的值:");double b = input.nextDouble();System.out.print("请输入c的值:");double c = input.nextDouble();double delta = b * b - 4 * a * c;if (delta >1e-6 ) {double x1 = (-b + Math.sqrt(delta)) / (2 * a);double x2 = (-b - Math.sqrt(delta)) / (2 * a);System.out.println("方程有两个实根:x1=" + x1 + ",x2=" + x2);} else if (delta == 0) {double x = -b / (2 * a);System.out.println("方程有一个实根:x=" + x);} else {double realPart = -b / (2 * a); // 实部

img

if(1/(10^6)==0.0){System.out.println("1/(10^6)等于0");
}

5.1.2.2 switch语句

switch语句用于根据表达式的值来选择执行不同的代码块。switch语句有三种形式:switch语句、switch-case语句和switch-case-default语句。

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

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

相关文章

基于python的四则运算自动生成的命令行程序

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标 基于python的四则运算自动生成的命令行程序团队成员 姚彬彬 3122006324一.Github地址 https://g…

章16——坦克大战1——绘图、事务

有关paint方法为什么会被调用JAVA的事件处理机制 事件发生的地方和事件处理的地方是不一样的:

WINCCV7.5SP2VBA编程8-通过事件执行脚本

这一篇在新浪博客发表过,审核周期有点长,为了避免丢失,这里再记录一遍。 有三种途径执行Wincc画面设计器的VBA脚本:事件、用户自定义菜单和工具栏、VBA编辑器。 前面的学习是通过VBA编辑器执行的VBA程序,现在通过事件来练习VBA程序执行。 还是在前面WINCC项目程序来做练习…

WinToUSB 9.0 离线注册

WinToUSB 9.0 qt程序,注册验证代码与EasyUEFI 大同小异,这里仅记录相关类、函数地址 关联 https://www.cnblogs.com/DirWang/p/18149030 目录WinToUSB 9.0CActivationDlgCActivationDlg QMetaObject__dCActivationRegisterPageCActivationRegisterPage QMetaObject__dCActiva…

结对项目:自动生成小学四则运算题目

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13230这个作业的目标 结对实现一个自动生成小学四则运算题目的命令行程序项目一、项目开发人员以及仓库地址 1、开发人…

【漏洞分析】20240507-SATURN:当闪电贷遇上有缺陷的通缩机制

背景信息 2024 年 5 月 6 日,SATURN 代币遭受价格操控攻击,损失 15 BNB。攻击发生的原因是由于 SATURN 代币的代币通缩机制设计不合理,使得攻击者可以通过燃烧池子中的 SATURN 代币来操控价格完成获利。项目社媒:https://x.com/Saturn_POM 社媒告警:https://twitter.com/C…

卫生纸国家标准查询 All In One

卫生纸国家标准查询 All In One 强制标准 推荐标准 指导性技术文件卫生纸国家标准查询 All In One国家标准全文公开系统强制标准 推荐标准 指导性技术文件 demos卫生纸 808080序号 标准号 是否采标 标准名称 状态 发布日期 实施日期1 GB/T 20808-2022纸巾 现行 2022-04-15 2023…

ai换脸工具roop 食用教程

1. 准备工作 开源项目地址 https://github.com/s0md3v/roop说明文档 https://docs.facefusion.io/usage/cli-argumentspython环境安装必须是python3.10版本 2 部署 git clone仓库 git clone https://github.com/s0md3v/roop.git2.1 conda创建虚拟环境 conda create -n env_name…

C# ASP.NET Core Web API 框架 实现向手机发送验证码短信

本文章主要是在C# ASP.NET Core Web API框架实现向手机发送验证码短信功能。这里我选择是一个互亿无线短信验证码平台,其实像阿里云,腾讯云上面也可以。首先我们先去 互亿无线 https://www.ihuyi.com/api/sms.html 去注册一个账号 注册完成账号后,它会送10条免费短信以及通…

WFUZZ模糊测试

WFUZZ模糊测试 使用指南 选项: -h/--help :这个帮助 --help : 高级帮助 --filter-help : 过滤语言规范 --version : Wfuzz 版本详细信息 -e <type> :可用编码器/有效负载/…

2. 两数相加题解

题目描述 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1:输入:l1 = [2,4,3]…