Java语言程序设计——篇三(1)
选择结构
- 概述
- 选择
- 单分支if语句
- 例题讲解
- 双分支if-else语句
- 例题讲解
- 条件运算符
- 多分支的if-else语句
- 例题讲解
- 嵌套的if语句
- 例题讲解
- switch语句结构
- 例题讲解
- 代码演示
- 运行结果
概述
Java中的控制结构,包括:
1、选择结构( if、if-else、switch )
2、循环结构( while、do-while、for )
3、异常处理语句( try-catch-finally、throw)
选择
单分支if语句
语法格式如下所示:
if(条件表达式) {
// 语句序列
}
单分支if语句中,条件表达式是一个布尔值
当值为true时,才会执行 {} 中的语句。
否则,执行 if 结构后面的语句。
例题讲解
例:在求圆面积问题中,要求只有当radius>=0时才计算圆的面积。
if (radius >= 0) {
area = radius * radius * 3.14159;
System.out.println("The area for the circle of radius " + radius + " is " + area);
}
双分支if-else语句
if…else语句是指如果满足给定条件,就进行某种处理,否则就进行另一种处理,其语法格式如下所示:
if (条件表达式){
语句序列1
}
else{
语句序列2
}
例题讲解
例:在求圆面积问题中,要求只有当radius>=0时才计算圆的面积,否则,程序给出错误提示。
if (radius >= 0){
area = radius * radius * 3.14159;
System.out.println("The area for the circle of radius "
+ radius + " is " + area);
}
else {
System.out.println(“Negative input”);
}
条件运算符
条件运算符(conditional operator)格式如下:
condition ? expression1 : expression2
条件运算符可实现if~else结构。
若max, a, b是int型变量:
if (a > b) {
max = a;
}else {
max = b;
}
与max = (a > b)? a : b ;一样
多分支的if-else语句
if (条件表达式1){
语句序列1
}
else if (条件表达式2){
语句序列2
}
......
else if (条件表达式n ){
语句序列n
}
else{
语句序列n+1
}
条件表达式的结果必须都是布尔型
例题讲解
例:输入学生的百分制成绩,打印输出等级的成绩。等级规定为,
90分及以上的为“A”
80分及以上的为“B”
70分及以上的为“C”
60分及以上的为“D”
60分以下为“E”。
if (score > =90.0)
grade = ‘A’;
else if (score >= 80.0)
grade = ‘B’;
else if (scroe >= 70.0)
grade = ‘C’;
else if (score >= 60.0)
grade = ‘D’;
else
grade = ‘E’;
嵌套的if语句
其语法形式如下:
if (表达式1)
if (表达式2)
语句1
else 语句2
else
if (表达式3)
语句3
else 语句4
嵌套应分层缩进书写;
else总是与它上面最近的未配对的if配对。(就“近”原则)
嵌套的层数不宜太多,一般以2~3层为宜
例题讲解
例:求a、b和c中最大值并将其保存到max中。
if ( a>b )
if ( a>c )
max=a;
else max=c;
else
if ( b>c )
max=b;
else max=c;
switch语句结构
针对表达式的值做出判断,从而决定执行哪些语句。
switch(表达式){
case 常量表达式1:
语句序列1;
break ;
case 常量表达式2:
语句序列2;
break;
......
case 常量表达式n:
语句序列n;
break;
default:
语句序列n+1;
}
注意
表达式:类型为byte,short,int,char,enum,String
并且与各个case后面的常量表达式值的类型一致。
语句序列:每个case子句后面可以跟多条语句,这些语句可以不用大括号括起来。
break:一般都有break,若没有则多个case共享一个分支。结束switch结构。
default:可有可无。 有时,当表达式的值与任何一个case后的常量表达式的值不相同时执行。没有,不执行任何操作,直接跳出switch结构。
例题讲解
例:编写程序,从键盘输入一个年份(如2020年)和一个月份(如2月),输出该月的天数(29)。
闰年的定义是:
如果年份能被4整除但不能被100整除,则是闰年。
如果年份能被400整除,则也是闰年。
代码演示
package shujia_test1;import java.util.Scanner;public class Csdn3_1 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.print("输入一个年份:");int year = input.nextInt();System.out.print("输入一个月份:");int month = input.nextInt();int numDays = 0;switch (month) {case 1:case 3:case 5:case 7:case 8:case 10:case 12:numDays = 31;break;case 4:case 6:case 9:case 11:numDays = 30;break;case 2: // 对2月需要判断是否是闰年if (((year % 4 == 0) && !(year % 100 == 0)) || (year % 400 == 0)){numDays = 29;}else{numDays = 28;}break;default:System.out.println("月份非法.");break;}2020System.out.println(" 该月的天数为:" + numDays);}
}
运行结果
博主用心写,读者点关注,互动传真情,知识不迷路。
相关文章:
Java语言程序设计——篇三(1)
选择结构 概述选择单分支if语句例题讲解 双分支if-else语句例题讲解 条件运算符多分支的if-else语句例题讲解 嵌套的if语句例题讲解 switch语句结构例题讲解代码演示运行结果 概述 Java中的控制结构,包括: 1、选择结构( if、if-else、switch ) 2、循环结…...
基于SpringBoot实现轻量级的动态定时任务调度
在使用SpringBoot框架进行开发时,一般都是通过Scheduled注解进行定时任务的开发: Component public class TestTask {Scheduled(cron"0/5 * * * * ? ") //每5秒执行一次public void execute(){SimpleDateFormat df new SimpleDateFormat(…...
夸克升级“超级搜索框” 推出AI搜索为中心的一站式AI服务
大模型时代,生成式AI如何革新搜索产品?阿里智能信息事业群旗下夸克“举手答题”。7月10日,夸克升级“超级搜索框”,推出以AI搜索为中心的一站式AI服务,为用户提供从检索、创作、总结,到编辑、存储、分享的一…...
element-ui el-select选择器组件下拉框增加自定义按钮
element-ui el-select选择器组件下拉框增加自定义按钮 先看效果 原理:在el-select下添加禁用的el-option,将其value绑定为undefined,然后覆盖el-option禁用状态下的默认样式即可 示例代码如下: <template><div class…...
Python基于you-get下载网页上的视频
1.python 下载地址 下载 : https://www.python.org/downloads/ 2. 配置环境变量 配置 python_home 地址 配置 python_scripts 地址 在path 中加入对应配置 3. 验证 C:\Users>python --version Python 3.12.4C:\Users>wheel version wheel 0.43.04. 下载 c…...
大模型/NLP/算法面试题总结3——BERT和T5的区别?
1、BERT和T5的区别? BERT和T5是两种著名的自然语言处理(NLP)模型,它们在架构、训练方法和应用场景上有一些显著的区别。以下是对这两种模型的详细比较: 架构 BERT(Bidirectional Encoder Representation…...
vue3项目打包的时候,怎么区别测试环境,和本地环境
在Vue 3项目中区别测试环境和本地环境,并标记接口的方法可以通过环境变量来实现。 首先,你可以在你的项目根目录下创建一个.env文件,并定义你的环境变量。比如,你可以创建.env.local作为本地环境的配置文件,.env.test…...
小特性 大用途 —— YashanDB JDBC驱动的这些特性你都get了吗?
在现代数据库应用场景中,系统的高可用性和负载均衡是确保服务稳定性的基石。YashanDB JDBC驱动通过其创新的多IP配置特性,为用户带来了简洁而强大的解决方案,以实现数据库连接的高可用性和负载均衡,满足企业级应用的高要求。 01 …...
全网最全的软件测试面试八股文
前面看到了一些面试题,总感觉会用得到,但是看一遍又记不住,所以我把面试题都整合在一起,都是来自各路大佬的分享,为了方便以后自己需要的时候刷一刷,不用再到处找题,今天把自己整理的这些面试题…...
VMware虚拟机配置桥接网络
转载:虚拟机桥接网络配置 一、VMware三种网络连接方式 VMware提供了三种网络连接方式,VMnet0, VMnet1, Vmnet8,分别代表桥接,Host-only及NAT模式。在VMware的编辑-虚拟网络编辑器可看到对应三种连接方式的设置(如下图…...
华为机考真题 -- 攀登者1
题目描述: 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。其中数组元素0代表地面。 一个山脉可能有多座山峰(山峰定义:高度大于相邻位置的高度,或在地图边界且高度大于相邻的高度)。登山者…...
深入理解Python密码学:使用PyCrypto库进行加密和解密
深入理解Python密码学:使用PyCrypto库进行加密和解密 引言 在现代计算领域,信息安全逐渐成为焦点话题。密码学,作为信息保护的关键技术之一,允许我们加密(保密)和解密(解密)数据。P…...
MMSegmentation笔记
如何训练自制数据集? 首先需要在 mmsegmentation/mmseg/datasets 目录下创建一个自制数据集的配置文件,以我的苹果叶片病害分割数据集为例,创建了mmsegmentation/mmseg/datasets/appleleafseg.py 可以看到,这个配置文件主要定义…...
Python基础语法:变量和数据类型详解(整数、浮点数、字符串、布尔值)①
文章目录 变量和数据类型详解(整数、浮点数、字符串、布尔值)一、变量二、数据类型1. 整数(int)2. 浮点数(float)3. 字符串(str)4. 布尔值(bool) 三、类型转换…...
【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——红黑树
目录 1 -> 红黑树 1.1 -> 红黑树的概念 1.2 -> 红黑树的性质 1.3 -> 红黑树节点的定义 1.4 -> 红黑树的结构 1.5 -> 红黑树的插入操作 1.6 -> 红黑树的验证 1.8 -> 红黑树与AVL树的比较 2 -> 红黑树模拟实现STL中的map与set 2.1 -> 红…...
MySQL DDL
数据库 1 创建数据库 CREATE DATABASE 数据库名 CREATE DATABASE IF NOT EXISTS 数据库名;(判断是否存在) CREATE DATABASE 数据库名 CHARACTER SET 字符 2 查看数据库 SHOW DATABASES; 查看某个数据库的信息 SHOW CAEATE DATABASE 数据库名 3 修改数据库 …...
从模型到应用:李彦宏解读AI时代的新趋势与挑战
如何理解李彦宏说的“不要卷模型,要卷应用” 开源项目的机遇与挑战 7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在上海世博中心举办。在产业发展主论坛上,百度创始人、董事长兼首席执行官李彦宏呼吁:“大家不要卷…...
C++ STL 随机数用法介绍
目录 一:C语言中的随机数 二:C中的随机数 1. 生成随机数的例子 2. 随机数引擎 3. 随机数引擎适配器 4. C中预定义的随机数引擎,引擎适配器 5. 随机数分布 一:C语言中的随机数 <stdlib.h>//初始化随机种子 srand(static_ca…...
容器之docker compose
Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过一个 YAML 文件,您可以配置应用程序需要的所有服务,并使用单个命令来创建和启动这些服务。以下是对 Docker Compose 的详细介绍: 核心概念 服务(Services&am…...
MIT机器人运动控制原理浅析-人形机器人
MIT人形机器人基于开发改进的执行器全新设计,通过可感知执行器运动动力学移动规划器(Actuator-Aware Kino-Dynamic Motion Planner)及着地控制器(Landing Controller)等实现机器人的运动控制。 机器人设计 机器人高0.7米,21KG(四肢重量 25%),…...
开源 WAF 解析:选择最适合你的防护利器
前言 随着网络安全风险的增加,Web 应用防火墙(WAF)成为保护网站和应用程序免受攻击的关键工具。在众多的选择中,开源 WAF 以其灵活性、可定制性和成本效益备受青睐。本文将深入探讨几种主流开源 WAF 解决方案,帮助你选…...
AirPods Pro新功能前瞻:iOS 18的五大创新亮点
随着科技的不断进步,苹果公司一直在探索如何通过创新提升用户体验。iOS 18的推出,不仅仅是iPhone的一次系统更新,更是苹果生态链中重要一环——AirPods Pro的一次重大升级。 据悉,iOS 18将为AirPods Pro带来五项新功能࿰…...
JavaScript中的可选链操作符
在JavaScript中,?. 被称为可选链操作符(Optional Chaining Operator)。它允许你访问对象的深层属性而不必显式地检查每一层属性是否存在。如果链中的某个属性不存在,表达式将短路返回undefined,而不是抛出一个TypeErr…...
huggingface笔记:gpt2
0 使用的tips GPT-2是一个具有绝对位置嵌入的模型,因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模(CLM)目标进行训练的,因此在预测序列中的下一个标记方面非常强大 利用这一特性,GPT-2可以生成语法连…...
一次业务的批量数据任务的处理优化
文章目录 一次业务的批量数据任务的处理优化业务背景1.0版本 分批处理模式2.0版本 平衡任务队列模式3.0版本 优化调度平衡任务队列模式总结 一次业务的批量数据任务的处理优化 业务背景 一个重新生成所有客户的财务业务指标数据的批量数据处理任务。 1.0版本 分批处理模式 …...
新能源汽车充电站远程监控系统S275钡铼技术无线RTU
新能源汽车充电站的远程监控系统在现代城市基础设施中扮演着至关重要的角色,而钡铼技术的S275无线RTU作为一款先进的物联网数据监测采集控制短信报警终端,为充电站的安全运行和高效管理提供了强大的技术支持。 技术特点和功能 钡铼S275采用了基于UCOSI…...
海外视频媒体发布/发稿:如何在国外媒体以视频的形式宣发
1. 背景介绍 在如今数字化时代,每个国家都拥有着各自的视频媒体平台,而主流媒体也都纷纷加入了视频发布的行列。视频媒体的宣发形式主要包括油管Youtube等视频分享平台,以及图文配合的发布方式。通过在视频中夹带链接,媒体可以以…...
HTML 【实用教程】(2024最新版)
核心思想 —— 语义化 【面试题】如何理解 HTML 语义化 ?仅通过标签便能判断内容的类型,特别是区分标题、段落、图片和表格 增加代码可读性,让人更容易读懂对SEO更加友好,让搜索引擎更容易读懂 html 文件的基本结构 html 文件的文件后缀为 …...
How to Describe Figures in a Research Article
How to Describe Figures in a Research Article DateAuthorVersionNote2024.07.10Dog TaoV1.0Finish the document. 文章目录 How to Describe Figures in a Research ArticleGeneral GuidelinesDetailed DescriptionsCommon Describing Phrases Effective communication of …...
昇思MindSpore学习入门-CELL与参数一
Cell作为神经网络构造的基础单元,与神经网络层(Layer)的概念相对应,对Tensor计算操作的抽象封装,能够更准确清晰地对神经网络结构进行表示。除了基础的Tensor计算流程定义外,神经网络层还包含了参数管理、状态管理等功能。而参数(…...
织梦的手机端网站模板下载地址/seo结算系统
到目前为止,我们前面已经介绍了如何开发程序、调试程序以及测试程序,正如人们常说的:开发最后的10%需要花费90%的时间,所以这一章我们将强调这最后的10%部分,要真正成为让人信任并使用的优秀应用,需要考虑到…...
丹东做网站/网页制作软件dw
EnableTaskWindows DisableTaskWindows 在Delphi中显示一个窗口有两种方式,模态方式显示(ShowModal)和非模态方式显示(Show),模态方式显示窗口时,必须在自身关闭后才能使父窗口起作用,但有时我们想要实现一…...
找个人给我做电影网站/百度搜索seo优化技巧
Python程序有两种退出方式: os._exit() 和 sys.exit()。我查了一下这两种方式的区别。os._exit() 会直接将python程序终止,之后的所有代码都不会执行。sys.exit() 会抛出一个异常: SystemExit,如果这个异常没有被捕获,那么python解…...
网络建设设计方案/免费seo课程
我在我的PHP脚本(PHP 5.6,Apache 2.2)中间歇性地遇到了这个问题:Warning: Cannot modify header information – headers already sent in /path/to/index.PHP on line 55这个警告没有我在其他问题中看过的“发送者”部分,所以我在违规的header()和setcookie()调用之…...
p2p网站建设的步骤过程/下拉关键词排名
零拷贝 零拷贝不是真的0次拷贝,而是减少拷贝次数,所有的零拷贝分为两个层面: (1)OS级别 传统IO: 硬盘->内核缓冲区->用户缓冲区->内核缓冲区->socket缓冲区-》socket缓冲区-》网卡…...
网推所和传统律所比较/搜索引擎优化方法有哪几种
高德地图 Android SDK 能够为 Android 应用开发人员提供互动的、功能丰富的 Android 手机地图。 将地图显示功能与搜索服务、定位服务分别封装为三个类库。每一个类库不相互依赖,用户能够分开使用。提供 2D(栅格)和3D(矢量&#x…...