Java中的顺序控制、分支控制、嵌套分支if-else

if-else

  • 顺序控制
  • 分支控制if-else
    • 单分支
      • 1.基本语法
      • 2.说明:
      • 3.案例说明
      • 4.流程图
    • 双分支
      • 1.基本语法
      • 2.说明:
      • 3.案例说明
      • 4.流程图
      • 5.练习
    • 多分支
      • 1.基本语法
      • 2.说明:
      • 3.流程图
      • 4.练习
  • 嵌套分支
    • 1.基本介绍
    • 2.基本语法
    • 3.练习

顺序控制

1.介绍:程序从上到下逐行地执行,中间没有任何判断和跳转。
2.Java中定义变量时采用合法的前向引用。如:

public class Test{public static void main(String[] args){int num1 = 12;int num2 = num1 + 2;}
}

错误形式:

public class Test{public static void main(String[] args){int num2 = num1 + 2;int num1 = 12;}
}

在这里插入图片描述

分支控制if-else

让程序有选择的执行,分支控制有三种:单分支、双分支、多分支。

单分支

1.基本语法

if(条件表达式){执行代码块;(可以有多条语句)}

2.说明:

当条件表达式为true时,则会执行{ }的代码。如果为false,就不执行。
如果{ }中只有一条语句,则可以不用{ },建议写上{ }

3.案例说明

编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18,要对自己的行为负责,送入监狱”

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){//编写一个程序可以输入人的年龄,如果该同志的年龄大于18岁//则输出“你年龄大于18,要对自己的行为负责”////思路分析//1.接收输入的年龄,定义一个Scanner对象//2.把年龄保存到一个变量 int age//3.用if判断,输出相应信息//定义一个Scanner 对象Scanner sc = new Scanner(System.in);System.out.println("请输入年龄:");//把年龄保存到一个变量 int ageint age = sc.nextInt();//用if判断,输出对应信息if(age > 18){System.out.println("你年龄大于18,要对自己的行为负责");}	System.out.println("程序继续……");}  
}

4.流程图

在这里插入图片描述

双分支

1.基本语法

if(条件表达式){执行代码块1;
}
else{执行代码块2;
}

2.说明:

当条件表达式成立,即执行代码块1,否则执行代码块2。如果执行代码块中只有一条语句,则可以不用{ },建议写上{ }。

3.案例说明

编写一个程序,可以输入人的年龄,如果该同志的年龄大于18岁,则输出“你年龄大于18,要对自己的行为负责”。否则输出“要提前学会对自己的行为负责”

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){//编写一个程序可以输入人的年龄,如果该同志的年龄大于18岁//则输出“你年龄大于18,要对自己的行为负责”////思路分析//1.接收输入的年龄,定义一个Scanner对象//2.把年龄保存到一个变量 int age//3.用if-else判断,输出相应信息//定义一个Scanner 对象Scanner sc = new Scanner(System.in);System.out.println("请输入年龄:");//把年龄保存到一个变量 int ageint age = sc.nextInt();//用if判断,输出对应信息if(age > 18){System.out.println("你年龄大于18,要对自己的行为负责");}	else{System.out.println("要提前学会对自己的行为负责");}}  
}

4.流程图

在这里插入图片描述

5.练习

1)定义两个变量int,判断二者之和,是否能被3又能被5整除,打印提示信息

public class comment00{//编写一个main方法public static void main(String[] args){//定义两个变量int,判断二者之和//是否能被3又能被5整除,打印提示信息////思路分析//1.定义两个变量int num1,num2//2.定义一个变量int sum = num1 + num2;//3.sum % 3 ,5 后等于0,说明可以整除//4.使用if-else来提示对应信息int num1 = 10;int num2 = 21;int sum = num1 + num2;if(num1 % 3 == 0 && num2 % 5 == 0){System.out.println("和可以被3又能被5整除");}else{System.out.println("和不可以被3又能被5整除");}}  
}

2)判断一个年份是否是闰年,闰年的条件是符合下面二者之一:(1)年份能被4整除但不能被100整除;(2)能被400整除

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){//判断一个年份是否是闰年,闰年的条件是符合下面二者之一://(1)年份能被4整除但不能被100整除;(2)能被400整除////思路分析//1.接收输入的年份,定义一个Scanner对象//2.定义一个int变量 year保存年份//3.(1)(year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)Scanner sc = new Scanner(System.in);System.out.println("请输入年份:");int year = sc.nextInt();if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){System.out.println(year + "是闰年");}else{System.out.println(year + "不是闰年");}}  
}

多分支

1.基本语法

if(条件表达式1){执行代码块1;
}
else if(条件表达式2){执行代码块2;
}
.....
else{执行代码块n;
}

2.说明:

1)当条件表达式1成立时,即执行代码块1
2)如果表达式1不成立,才去判断表达式2是否成立
3)如果表达式2成立,就执行代码块2
4)以此类推,如果所有的表达式都不成立
5)则默认执行 else 的代码块。注意,只
能有一个执行入口。(只要找到一个执行入口就跳出分支)
6)多分支 可以没有else,如果所有的条件表达式都不成立,则一个执行入口都没有

3.流程图

在这里插入图片描述

4.练习

请输入保国同志的芝麻信用分:
如果:
1.信用分为100分,输出 信用极好;
2.信用分为(80,99]时,输出 信用优秀;
3.信用分为[60,80]时,输出 信用优秀;
4.其他情况,输出 信用不及格
5.请从键盘输入保国的芝麻信用分,并加以判断

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){Scanner sc = new Scanner(System.in);System.out.println("请输入信用分(1-100):");int grade = sc.nextInt();//如果输入的不是整数,而是hello...//这里后面可以使用异常处理机制搞定if(grade >=1 && grade <= 100){if(grade == 100){System.out.println("信用极好");}else if(grade >80 && grade <=99){System.out.println("信用优秀");}else if(grade >= 60 && grade <=80){System.out.println("信用一般");}else{System.out.println("信用不及格");}}else{System.out.println("请重新输入1-100的信用分");}}  
}

在这里插入图片描述

嵌套分支

1.基本介绍

在一个分支结构中有、又完整的嵌套了另一个完整的分支结构,里面的分支结构称为内层分支,外面的分支结构称为外层分支。建议:不要超过3层(可读性不好)

2.基本语法

if(){if(){//if-else...}else{//if-else...}
}

3.练习

参加歌手比赛,如果初赛成绩大于8.0进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组,输入成绩和性别进行判断和输入信息
//double score; char gender;
//接收字符 char gender = sc.next().charAt(0)

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){//思路://1.创建Scanner对象,接收用户输入//2.接收成绩保存到 double score//3.用if-else 判断,如果初赛成绩大于8.0进入决赛,否则提示淘汰。//4.如果进入到决赛,再接收 char gender 使用if-else输出信息System.out.println("请输入初赛成绩:");Scanner sc = new Scanner(System.in);double score = sc.nextDouble();if(score > 8.0){System.out.println("请输入性别:");char gender = sc.next().charAt(0);if(gender == '女'){System.out.println("进入女子组决赛");}else if(gender == '男'){System.out.println("进入男子组决赛");}else{System.out.println("性别输入有误,无法进入决赛");}}else{System.out.println("sorry,你被淘汰");}}  
}

在这里插入图片描述

出票系统:根据淡旺季的月份和年龄,打印票价
4-10 旺季:
成人(18-60):60
儿童(<18):半价
老人(>60):1/3
淡季:
成人:40
其他:20

import java.util.Scanner;//表示把java.util包下的Scanner类导入
public class comment00{//编写一个main方法public static void main(String[] args){//1.创建Scanner对象,接收用户输入//2.淡季和旺季双分支,接收月份保存到int month,接收年龄保存到int age//3.if-else嵌套System.out.println("请输入现下月份(1-12):");Scanner sc = new Scanner(System.in);int month = sc.nextInt();//旺季if(month >=4 && month <=10){System.out.println("请输入年龄:");int age = sc.nextInt();if(age >= 18 && age <=60){System.out.println("票价60");}else if(age < 18 && age > 0){System.out.println("半价票30");}else if(age > 60 && age <= 130){System.out.println("票价20");}else{System.out.println("输入年龄不符规范,请重新输入");}}//淡季else{System.out.println("请输入年龄:");int age = sc.nextInt();if(age >= 18 && age <=60){System.out.println("票价40");}else{System.out.println("票价20");}} }  
}

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

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

相关文章

AntFlow-Vue3 :一个仿钉钉流程审批,且满足99.8%以上审批流程需求的企业级工作流平台,开源且免费!

在现代企业管理中&#xff0c;流程审批的高效性直接影响到工作的流畅度与生产力。最近&#xff0c;我发现了一个非常有趣的项目—— AntFlow-Vue3 。这个项目不仅提供了一个灵活且可定制的工作流平台&#xff0c;还能让用户以可视化的方式创建和管理审批流程。 如果你是一名前…

【Android 13源码分析】Activity生命周期之onCreate,onStart,onResume-1

忽然有一天&#xff0c;我想要做一件事&#xff1a;去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

【Java 集合】List接口 —— ArrayList 与 LinkedList 详解

List接口继承自Collection接口&#xff0c;是单列集合的一个重要分支。 在List集合中允许出现重复的元素&#xff0c;所有的元素是以一种线性方式进行存储的&#xff0c;在程序中可以通过索引&#xff08;类似于数组中的元素角标&#xff09;来访问集合中的指定元素。另外&…

ESP32 Bluedroid 篇(1)—— ibeacon 广播

前言 前面我们已经了解了 ESP32 的 BLE 整体架构&#xff0c;现在我们开始实际学习一下Bluedroid 从机篇的广播和扫描。本文将会以 ble_ibeacon demo 为例子进行讲解&#xff0c;需要注意的一点是。ibeacon 分为两个部分&#xff0c;一个是作为广播者&#xff0c;一个是作为观…

时序数据库 TDengine 的入门体验和操作记录

时序数据库 TDengine 的学习和使用经验 什么是 TDengine &#xff1f;什么是时序数据 &#xff1f;使用RPM安装包部署默认的网络端口 TDengine 使用TDengine 命令行&#xff08;CLI&#xff09;taosBenchmark服务器内存需求删库跑路测试 使用体验文档纠错 什么是 TDengine &…

【框架篇】过滤器和拦截器的区别以及使用场景

在项目开发中&#xff0c;常常会同时配置拦截器&#xff08;Interceptor&#xff09;和过滤器&#xff08;Filter&#xff09;&#xff0c;以下就是它们两个主要的区别&#xff1a; 过滤器&#xff08;Filter&#xff09; 配置和实现 Filter的实现还是很简单的&#xff0c;可…

【Python语言初识(六)】

一、网络编程入门 1.1、TCP/IP模型 实现网络通信的基础是网络通信协议&#xff0c;这些协议通常是由互联网工程任务组 &#xff08;IETF&#xff09;制定的。所谓“协议”就是通信计算机双方必须共同遵从的一组约定&#xff0c;例如怎样建立连接、怎样互相识别等&#xff0c;…

k8s搭建一主三从的mysql8集群---无坑

一&#xff0c;环境准备 1.1 k8s集群服务器 ip角色系统主机名cpumem192.168.40.129mastercentos7.9k8smaster48192.168.40.130node1centos7.9k8snode148192.168.40.131node2centos7.9k8snode248192.168.40.132node3centos7.9k8snode348 k8s集群操作请参考《K8s安装部署&…

力扣(leetcode)每日一题 1845 座位预约管理系统| treeSet和priority Queue的区别|线段树

之前发过一篇&#xff0c;感觉还有深挖的地方&#xff0c;于是又补充一些信息 这题目虽然是middle难度题目&#xff0c;要解答出来是只要easy的时间&#xff0c;但是深挖可以有hard的难度 题解1 可以帮助复习线段树的使用&#xff0c;题解2 可以复习一下java基础知识 题解1 线…

Springboot使用redis,以及解决redis缓存穿透,击穿,雪崩等问题

1.Redis面试题-缓存穿透,缓存击穿,缓存雪崩 1 穿透: 两边都不存在&#xff08;皇帝的新装&#xff09; &#xff08;返回空值&#xff09;&#xff08;互斥锁&#xff09;&#xff08;黑名单&#xff09; &#xff08;布隆过滤器&#xff09; 2 击穿&#xff1a;一个或多个热…

Kotlin:1.8.0 的新特性

一、概述 Kotlin 1.8.0版本英语官方文档 Kotlin 1.8.0 中文官方文档 The Kotlin 1.8.0 release is out and here are some of its biggest highlights: Kotlin 1.8.0发布了&#xff0c;下面是它的一些亮点: JVM 平台新增实验性函数&#xff1a;递归复制或删除目录内容改进了 …

9--苍穹外卖-SpringBoot项目中Redis的介绍及其使用实例 详解

目录 Redis入门 Redis简介 Redis服务启动与停止 服务启动命令 Redis数据类型 5种常用数据类型介绍 各种数据类型的特点 Redis常用命令 字符串操作命令 哈希操作命令 列表操作命令 集合操作命令 有序集合操作命令 通用命令 在java中操作Redis Redis的Java客户端 …

uni-app在线预览pdf

这里推荐下载pdf.js 插件 PDF.js - Browse Files at SourceForge.net 特此注意 如果报 Promise.withResolvers is not a function 请去查看版本兼容问题 降低pdf.js版本提高node版本 下载完成后 在 static 文件夹下新建 pdf 文件夹&#xff0c;将解压文件放进 pdf 文件…

生信初学者教程(十一):数据校正

文章目录 介绍加载R包导入数据准备数据ComBatremoveBatchEffectVoom SNM批次效应校正结果比较校正后的结果输出校正后的结果总结介绍 批次效应在生物学数据分析中是一个普遍存在的问题,它指的是由于实验过程中非生物学因素(如样本处理时间、实验条件、测序平台等)的差异,导…

集师专属知识付费小程序搭建 心理咨询小程序搭建

一、产品简介 集师SaaS知识付费软件&#xff0c;为知识创业者或商家提供一站式内容交付解决方案&#xff0c;助力商家搭建集品牌传播、商业变现和用户运营于一体的线上知识服务系统&#xff0c;覆盖全渠道经营场景&#xff0c;占据每个流量入口&#xff0c;使流量变现快速高效…

Python笔记 - 利用装饰器设计注解体系

认识注解 注解&#xff08;Annotation&#xff09;是一种用于为代码添加元数据的机制。这些元数据可以在运行时被访问&#xff0c;用于为代码元素&#xff08;如类、方法、字段等&#xff09;提供额外的信息或指示。 由于Python中装饰器只能装饰类和方法&#xff0c;因此也只…

828华为云征文|华为云弹性云服务器FlexusX实例下的Nginx性能测试

本文写的是华为云弹性云服务器FlexusX实例下的Nginx性能测试 目录 一、华为云弹性云服务器FlexusX实例简介二、测试环境三、测试工具四、测试方法五、测试结果 下面是华为云弹性云服务器FlexusX实例下的Nginx性能测试。 一、华为云弹性云服务器FlexusX实例简介 华为云弹性云服…

【LLM论文日更】| 通过指令调整进行零样本稠密检索的无监督文本表示学习

论文&#xff1a;https://arxiv.org/pdf/2409.16497代码&#xff1a;暂未开源机构&#xff1a;Amazon AGI、宾夕法尼亚州立大学领域&#xff1a;Dense Retrieval发表&#xff1a;Accepted at DCAI24 workshopCIKM2024 研究背景 研究问题&#xff1a;这篇文章要解决的问题是如…

泰勒图 ——基于相关性与标准差的多模型评价指标可视化比较-XGBoost、sklearn

1、基于相关性与标准差的多模型评价指标可视化比较 # 数据读取并分割 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split plt.rcParams[font.family] = Times New Roman plt.rcParams[axes.unic…