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://www.mzph.cn/bicheng/44265.shtml

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

相关文章

仕考网:非应届生可以参加公务员考试吗?

往届生有资格参加国家公务员考试。根据《公务员录用规定》,只要满足一系列资格条件,就符合报考资格。 1、年龄在18到35岁之间。 2、具备良好的品德,身体健康且心理素质稳定,拥有拟任职位所需的工作能力。 3、至少为大学专科以上…

前端计算网络常识

OSI七层模型 OSI ( Open System Interconnection )是理想化的模型,将网络进行分层,其目的是将 复杂的流程简单化,从而实现分而治之。(专人干专事) 一.网络分层的含义? 下层是为了上层提供服务的。 应用层:…

【排序 - 归并排序】

归并排序(Merge Sort)是一种高效的排序算法,基于分治(Divide and Conquer)策略。它将待排序数组分成两个较小的子数组,分别对它们进行排序,然后将排好序的子数组合并成一个整体有序的数组。归并…

qt connect 链接其他类的函数

在 Qt 中,connect 函数用于建立信号与槽的连接,使得当某个信号被触发时,与之连接的槽函数将被调用。如果你想连接其他类的函数,你需要确保满足以下条件: 信号与槽的匹配:信号和槽的参数类型和数量必须匹配…

愚人杯的RE题

easy_pyc pyc反编译成py文件 # uncompyle6 version 3.9.1 # Python bytecode version base 2.7 (62211) # Decompiled from: Python 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)] # Embedded file name: enpyc.py # Compiled at: 2023…

html5——列表、表格

目录 列表 无序列表 有序列表 自定义列表 表格 基本结构 示例 表格的跨列 表格的跨行 列表 无序列表 <ul>【声明无序列表】 <li>河间驴肉火烧</li>【声明列表项】 <li>唐山棋子烧饼</li> <li>邯郸豆沫</li> <l…

opencv实现目标检测功能----20240704

早在 2017 年 8 月,OpenCV 3.3 正式发布,带来了高度改进的“深度神经网络”(dnn)模块。 该模块支持多种深度学习框架,包括 Caffe、TensorFlow 和 Torch/PyTorch。这次我们使用Opencv深度学习的功能实现目标检测的功能,模型选用MobileNetSSD_deploy.caffemodel。 模型加载…

Aop实现后端数据重复提交

一、思路 用户每次发送请求都有一个标记&#xff0c;这个标记设置成5s有效存到redis中。每次请求检查该标记是否有效&#xff0c;还有效就说明请求太频繁了。无效就说明请求之间时间间隔够了&#xff0c;可以继续请求了。 gitee地址&#xff1a;添加链接描述 二、实现 自定义…

机器学习与深度学习:区别与联系(含工作站硬件推荐)

一、机器学习与深度学习区别 机器学习&#xff08;ML&#xff1a;Machine Learning&#xff09;与深度学习&#xff08;DL&#xff1a;Deep Learning&#xff09;是人工智能&#xff08;AI&#xff09;领域内两个重要但不同的技术。它们在定义、数据依赖性以及硬件依赖性等方面…

空中交通新动能!2024深圳eVTOL展动力电池展区核心内容抢先看!

空中交通新动能&#xff01;2024深圳eVTOL展动力电池展区核心内容抢先看&#xff01; 关键词&#xff1a;2024深圳eVTOL展 动力电池 高能量密度电池 高性能电池材料 作为2024深圳eVTOL展重要组成部分&#xff0c;2024深圳eVTOL动力电池展将于9月23-25日在深圳坪山燕子湖国际会…

二刷算法训练营Day57 | 动态规划(17/17)

目录 详细布置&#xff1a; 1. 516. 最长回文子序列 2. 动态规划总结 详细布置&#xff1a; 1. 516. 最长回文子序列 给你一个字符串 s &#xff0c;找出其中最长的回文子序列&#xff0c;并返回该序列的长度。 子序列定义为&#xff1a;不改变剩余字符顺序的情况下&#x…

基于JAVA+SpringBoot+Vue的社区普法平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 社区普法平台旨在为社…

js函数表达式,一个重要的概念

最外面的括号在JavaScript中的IIFE&#xff08;Immediately Invoked Function Expression&#xff0c;立即调用函数表达式&#xff09;中起着重要的作用。让我们详细解释一下。 IIFE&#xff08;立即调用函数表达式&#xff09; IIFE 是一种常见的JavaScript设计模式&#xf…

Sqlmap中文使用手册 - Options模块参数使用

目录 1. Options模块的帮助文档2. 各个参数的介绍2.1 -h --help2.2 -hh2.3 --version2.4 -v VERBOSE 1. Options模块的帮助文档 Options:-h, --help Show basic help message and exit-hh Show advanced help message and exit--version …

Python程序封装成Windows服务实践

1. WinSW 工具概述 WinSW&#xff08;Windows Service Wrapper&#xff09;是一个轻量级的、开源的工具&#xff0c;用于将任何可执行文件&#xff08;包括exe、jar、脚本文件等&#xff09;包装成一个Windows服务。这意味着&#xff0c;原本设计为命令行应用或需要手动启动的…

threejs

1.场景清空&#xff0c;释放内容 // 假设你已经有一个Three.js的场景对象scene// 函数&#xff1a;清空场景中的所有对象 function clearScene(scene) {while(scene.children.length > 0){const object scene.children[0];if(object.isMesh) {// 如果有几何体和材质&#…

内存条必备知识

什么是内存条&#xff1f; 内存条&#xff1a;又称为随机存取存储器&#xff08;RAM&#xff09;&#xff0c;也叫主存&#xff0c;是与CPU直接交换数据的内部存储器。它可以随时读写&#xff08;刷新时除外&#xff09;&#xff0c;而且速度很快&#xff0c;通常用来暂时存储…

了解劳动准备差距:人力资源专业人员的战略

劳动准备差距是一个紧迫的问题&#xff0c;在全球人事部门回应&#xff0c;谈论未开发的潜力和错过的机会。想象一下&#xff0c;人才和需求之间的悬崖之间有一座桥&#xff0c;这促使雇主思考&#xff1a;我们是否为员工提供了足够的设备来应对未来的考验&#xff1f; 这种不…

安全开发基础篇--数据类型

安全开发基础篇–数据类型 注释&#xff1a;还是要特别说明一下&#xff0c;想成为专业开发者不要看本文&#xff0c;本文是自己从业安全以来的一些经验总结&#xff0c;所有知识点也只限于网络安全这点事儿&#xff0c;再多搞不明白了。 开发语言 笼统的按照是否编译成机器…

碳化硅陶瓷膜的基本性能

碳化硅陶瓷膜作为一种由碳化硅(SiC)材料制成的高温陶瓷膜&#xff0c;以其独特的性能在多个领域得到了广泛的应用。以下是碳化硅陶瓷膜的基本性能&#xff0c;详细阐述如下&#xff1a; 一、电绝缘性 碳化硅陶瓷膜通常具有较好的电绝缘性&#xff0c;这一特性在高温环境中尤为重…