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);}
}
运行结果

在这里插入图片描述
博主用心写,读者点关注,互动传真情,知识不迷路。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统学习 —— 计算机基础(笔记篇)

一、电脑硬件 电脑硬件由输入,控制计算,输出三部分组成。 输入部分包括键鼠,读卡器(外部接口),扫描仪(打印机的扫描仪)。计算控制部分包括CPU , 内存,硬盘&…

眼外伤险失明辗转成都爱尔眼科就医保视力,患者复查送锦旗!

近日患者王先生到成都爱尔眼科医院进行硅油取出后的二次复查(硅油为眼底病手术中一种“填充物”),他激动地为蔡裕主任献上锦旗,感谢医生的救治避免了失明。 意外发生在半年之前,王先生不慎滑倒右眼磕碰到茶几边缘&…

java算法day10

java算法day10 239滑动窗口最大值347前k个高频元素 239滑动窗口最大值 看灵神的题解学会的 精髓就在这张图 这个题用到了单调队列。首先知道为什么要使用单调队列,从这个问题来知道单调队列的好处。 首先就是我们模拟的窗口。滑动的这个过程显然就是一个队列元素…

《梦醒蝶飞:释放Excel函数与公式的力量》10.3 IMABS函数

第一节 10.3 IMABS函数 10.3.1 函数简介 IMABS函数是Excel中的一个工程函数,用于计算复数的绝对值(模)。在工程和科学计算中,复数的模是一个重要的概念,表示复数在复平面上到原点的距离。 10.3.2 语法: …

MT5016A-ASEMI逆变焊机专用MT5016A

编辑:ll MT5016A-ASEMI逆变焊机专用MT5016A 型号:MT5016A 品牌:ASEMI 封装:KBPC-4 批号:2024 现货:50000 正向电流(Id):50A 反向耐压(VRRM&#xff0…

内存迎来革命性升级,只装一条就能组成双通道

相信用过台式机的同学或多或少都遇到过一个情况,那就是按下开机键后,除了显示器不亮,哪儿都亮。 拿着自己的故障满世界发帖求助,得到最多的回答就是,断电拔下内存用橡皮擦擦擦金手指再装回。而这样的操作确实能解决大部…

Java中的集合类有哪些?如何分类的?

一、典型回答 Java的整个集合框架中,主要分为List、Set、Queue、Stack、Map等五种数据结构。其中,前四种数据结构都是单一元素的集合,而最后的Map则是以KV(键值)对的形式使用。 从继承关系上讲,List、Set、…

odoo模型继承

odoo模型继承 模块化是Odoo一个非常重要的功能。一个模块通常定义一块业务内容,模块之间是可以交互的。所以从已有模块中去继承修改原有模块功能就很有必要。 Odoo中,模型之间也定义了一套继承的逻辑,目前有三种继承方 式: 1、…

[图解]SysML和EA建模住宅安全系统-14-黑盒系统规约

1 00:00:02,320 --> 00:00:07,610 接下来,我们看下一步指定黑盒系统需求 2 00:00:08,790 --> 00:00:10,490 就是说,把这个系统 3 00:00:11,880 --> 00:00:15,810 我们的目标系统,ESS,看成黑盒 4 00:00:18,030 --> …

萌啦数据多少钱一个月,萌啦数据价格是多少

在跨境电商的浩瀚星海中,Ozon作为俄罗斯及独联体地区领先的电商平台,正吸引着越来越多的商家和创业者的目光。而“萌啦ozon数据”作为专注于Ozon平台数据分析与洞察的服务提供商,更是成为了众多商家在数据驱动决策道路上的得力助手。然而&…

怎么选择渲染农场?渲染100邀请码1a12

市面上的渲染农场那么多,到底选择哪一个呢?这次我给大家提供几个指标,以供参考。 1、机器性能:农场的机器性能会直接影响到渲染速度,速度越快项目就能越早完成,所以机器性能是重要的衡量指标。2、渲染价格…

YOLOv5改进 | 注意力机制| 对密集和小目标友好的EVAblock【完整代码 + 小白轻松上手】

秋招面试专栏推荐 :深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 💡💡💡本专栏所有程序均经过测试,可成功执行💡💡💡 专栏目录: 《YOLOv5入门 改…

七人共赢拼团模式的深度剖析与互助精神重塑

在当今电商的浩瀚星海中,七人共赢拼团模式以其创新的合作框架与激励体系,正引领着消费与商业的新潮流。这一模式不仅优化了购物体验,更深刻诠释了互助共赢的核心理念。以下,我们将从直推奖励、自动补齐机制及团队荣耀奖三个方面&a…

井字游戏00

题目链接 井字游戏 题目描述 注意点 1 < board.length board[i].length < 100输入一定遵循井字棋规则 解答思路 如果某一方想要获胜&#xff0c;则其需要占满某一行或某一列或对角线&#xff0c;所以只需要根据第一行和第一列判断是否填充完某一行或某一列或对角线…

「解析」Cosine-Warmup 学习率策略

参考论文&#xff1a;SGDR: Stochastic Gradient Descent with Warm Restarts Bag of Tricks for Image Classification with Convolutional Neural Networks 梯度下降算法需要我们设置一个值&#xff0c;用来控制权重更新幅度&#xff0c;我们将其称之为学习率。它是控制模型学…

Python虚拟环境:Virtualenv和Pipenv的安装理解与使用

Python虚拟环境&#xff1a;Virtualenv和Pipenv的安装理解与使用 引言 在Python开发中&#xff0c;一个常见的问题是不同项目依赖不同版本的库&#xff0c;这可能导致版本冲突。为解决这个问题&#xff0c;Python社区创造了虚拟环境工具&#xff0c;如Virtualenv和Pipenv。本…

使用Go编写的持续下行测速脚本,快速消耗流量且不伤硬盘

介绍 使用go语言编写的持续下行测速脚本,可用于任意平台使用,通过指定URL清单文本文件自动遍历测速,支持多线程,支持多平台 特性 轻量级,无依赖采用内存进行缓存数据,不占用磁盘(如果内存较小请使用gcd项目)&#xff0c;最大程度减少磁盘IO,保护硬盘寿命可自定义最大下载文件…

队列+二叉树广度优先

题目出自力扣-n叉树的层序遍历 我是原始人&#xff0c;递归写出一道题就只有递归思路&#xff0c;开始的想法是写深搜函数&#xff0c;传一个随着层数递增的int参数q&#xff0c;节点空就return&#xff0c;否则遍历所有节点&#xff0c;每个子节点又以q1为层数递归&#xff…

项目实战--本地缓存方案选型及使用缓存的坑

一、摘要 在互联网公司面试时&#xff0c;说到缓存&#xff0c;面试官基本上会绕不开的几个话题&#xff1a;项目中哪些地方用到了缓存&#xff1f;为什么要使用缓存&#xff1f;怎么使用它的&#xff1f;引入缓存后会带来哪些问题&#xff1f; 引入缓存&#xff0c;其实主要…

lvs集群、NAT模式和DR模式

lvs集群概念 全称是linux virtual server&#xff0c;是在Linux的内核层面实现负载均衡的软件。 主要作用&#xff1a;将多个后端服务器组成一个高可用高性能的服务器集群&#xff0c;通过负载均衡的算法将客户端的请求分发到后端的服务器上&#xff0c;来实现高可用和负载均…