韩顺平Java入门第九天–程序控制机构

1.程序流程控制介绍
    在程序中,程序运行的流程控制决定程序是如何执行的,是我们必须掌握的,主要有三大流程控制语句。
    1) 顺序控制
    2) 分支控制
    3) 循环控制
2.顺序控制

3.分支控制
    if-else 介绍 让程序有选择的的执行,分支控制有三种 :单分支 if 、 双分支 if-else、 多分支 if-else if -…-else。
    1)单分支

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

执行结果:

D:\JAVACode\05>javac If01.javaD:\JAVACode\05>java If01
请输入年龄
18
程序继续...D:\JAVACode\05>java If01
请输入年龄
12
程序继续...


    2)双分支

//if-else 的快速入门
import java.util.Scanner;//导入
public class If02 { //编写一个 main 方法 public static void main(String[] args) { //编写一个程序,可以输入人的年龄,如果该同志的年龄大于 18 岁, //则输出 "你年龄大于 18,要对 //自己的行为负责, 送入监狱"。否则 ,输出"你的年龄不大这次放过你了." ////思路分析 //1. 接收输入的年龄, 应该定义一个 Scanner 对象 //2. 把年龄保存到一个变量 int age //3. 使用 if-else 判断,输出对应信息//应该定义一个 Scanner 对象 Scanner myScanner = new Scanner(System.in); System.out.println("请输入年龄"); //把年龄保存到一个变量 int age int age = myScanner.nextInt(); //使用 if-else 判断,输出对应信息 if(age > 18) { System.out.println("你年龄大于 18,要对自己的行为负责,送入监狱"); } else {//双分支 System.out.println("你的年龄不大这次放过你了"); }System.out.println("程序继续..."); }
}

执行结果:

D:\JAVACode\05>javac If02.javaD:\JAVACode\05>java If02
请输入年龄
19
你年龄大于 18,要对自己的行为负责,送入监狱
程序继续...D:\JAVACode\05>java If02
请输入年龄
11
你的年龄不大这次放过你了
程序继续...


单分支和双分支练习题:

//单分支和双分支练习题
public class IfExercise01{public static void main(String[] args){int x = 7;int y = 4;if(x > 5){if(y > 5){System.out.println(x + y);}System.out.println("韩顺平教育~");//输出结果韩顺平教育~}else{System.out.println("x is" + x);}}
}
//编写程序,声明 2 个 double 型变量并赋值。判断第一个数大于 10.0,且第 2 个数小于 20.0,打印两数之和。public class IfExercise02 {public static void main(String[] args){double d1 = 34.5;double d2 = 12.5;if (d1 > 10.0 && d2 <20.0) {System.out.println(d1 + d2);}}
}
//【课后自己练】定义两个变量 int,判断二者的和,是否能被 3 又能被 5 整除,打印提示信息
public class IfExercise03{public static void main(String[] args){int a = 10;int b = 5;int sum = a + b;if((sum % 3 == 0) && (sum % 5 == 0)){System.out.println("a 和 b 的和,能被 3 又能被 5 整除");}else{System.out.println("a 和 b 的和,不能被 3 和 5 整除");}}
}
//判断一个年份是否是闰年,闰年的条件是符合下面二者之一:
//(1)年份能被 4 整除,但不能被 100 整除;(2)能被 400 整除
//
//思路分析
//1. 定义 int year 保存年
//2. 年份能被 4 整除,但不能被 100 整除,
// => year % 4 == 0 && year % 100 != 0
//3. 能被 400 整除 => year % 400 == 0
//4. 上面的 2 和 3 是 或的关系 //代码实现
public class IfExercise04{public static void main(String[] args){int year = 2000;if((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0 )){System.out.println(year + "年是闰年");}else{System.out.println(year + "年不是闰年");}}
}

    3)多分支

多分支流程图

案例演示 1 请大家看个案例[If03.java]: 输入保国同志的芝麻信用分:
如果:1) 信用分为 100 分时,输出 信用极好;
    2) 信用分为(80,99]时,输出 信用优秀;
    3) 信用分为[60,80]时,输出 信用一般;
    4) 其它情况 ,输出 信用 不及格
    5) 请从键盘输入保国的芝麻信用分,并加以判断。

//课堂练习
import java.util.Scanner;
public class If03 { //编写一个 main 方法 public static void main(String[] args) { /*输入保国同志的芝麻信用分: 如果: 信用分为 100 分时,输出 信用极好; 信用分为(80,99]时,输出 信用优秀; 信用分为[60,80]时,输出 信用一般; 其它情况 ,输出 信用 不及格 请从键盘输入保国的芝麻信用分,并加以判断 假定信用分数为 int */ Scanner myScanner = new Scanner(System.in); //接收用户输入 System.out.println("请输入信用分(1-100):"); //请思考:如果小伙伴输入的不是整数,而是 hello.. //==>这里我们后面可以使用异常处理机制搞定-》老师点一下int grade = myScanner.nextInt(); //先对输入的信用分,进行一个范围的有效判断 1-100, 否则提示输入错误 if(grade >=1 && grade <= 100) { //因为有 4 种情况,所以使用多分支 if(grade == 100) { System.out.println("信用极好"); } else if (grade > 80 && grade <= 99) { //信用分为(80,99]时,输出 信用优秀; System.out.println("信用优秀"); } else if (grade >= 60 && grade <= 80) {//信用分为[60,80]时,输出 信用一般 System.out.println("信用一般"); } else {//其它情况 ,输出 信用 不及格 System.out.println("信用不及格"); } } else { System.out.println("信用分需要在 1-100,请重新输入:)"); } }
}

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

应用案例 :
    参加歌手比赛,如果初赛成绩大于 8.0 进入决赛,否则提示淘汰。并且根据性别提示进入男子组或女子组。 输入成绩和性别,进行判断和输出信息。

import java.util.Scanner;
public class NestedIf { //编写一个 main 方法 public static void main(String[] args) { /*参加歌手比赛,如果初赛成绩大于 8.0 进入决赛, 否则提示淘汰。并且根据性别提示进入男子组或女子组。 【可以让学员先练习下】, 输入成绩和性别,进行判断和输出信息。 [NestedIf.java] 提示: double score; char gender; 接收字符: char gender = scanner.next().charAt(0) */ //思路分析 //1. 创建 Scanner 对象,接收用户输入 //2. 接收 成绩保存到 double score //3. 使用 if-else 判断 如果初赛成绩大于 8.0 进入决赛,否则提示淘汰 //4. 如果进入到 决赛,再接收 char gender, 使用 if-else 输出信息 //代码实现 => 思路 --> java 代码 Scanner myScanner = new Scanner(System.in); System.out.println("请输入该歌手的成绩"); double score = myScanner.nextDouble(); if( score > 8.0 ) { System.out.println("请输入性别");char gender = myScanner.next().charAt(0); //把字符串转成charif( gender == '男' ) { System.out.println("进入男子组"); } else if(gender == '女') { System.out.println("进入女子组"); } else { System.out.println("你的性别有误,不能参加决赛~"); } } else { System.out.println("sorry ,你被淘汰了~"); } }
}

课后作业:

import java.util.Scanner;
public class TicketingSystem { //编写一个 main 方法 public static void main(String[] args) { /*4-10旺季:成人(18-60):60儿童(<18):半价老人(>60):1/3淡季:成人:40其他:20 */ //思路分析 //1. 创建 Scanner 对象,接收用户输入 //2. 接收 月份保存到 int month //3. 使用 if-else 判断 如果是否为旺季,//4. 如果进入到旺季,再接收 年龄age, 使用 if-else 输出信息 //代码实现 => 思路 --> java 代码// Scanner myScanner = new Scanner(System.in); System.out.println("请输入月份"); int month = myScanner.nextInt();System.out.println("请输入年龄");int age = myScanner.nextInt(); if( month <= 10 && month >= 4 ) { if( age <  18 ) { System.out.println("儿童票" + 60/2 + "元"); } else if(age >= 18 && age <= 60) { System.out.println("成人票"  + 60 + "元"); } else if(age > 60){ System.out.println("老人票"  + 60/3 + "元"); } else{System.out.println("你输入的年龄有误");}} else { if (age >= 18 && age <= 60) {System.out.println("成人票"  + 40 + "元");}else{System.out.println("其他" + 20 + "元"); }} }
}

------文章为自学笔记,学习的课程是B站上的韩顺平30天学JAVA,文章标题的天数是自己学习的天数-----

2021-11-15----韩顺平Java入门第九天相关推荐

  1. 2021-11-16----韩顺平Java入门第十天

    韩顺平Java入门第十天 1.swith分支结构     基本语法     流程图     快速入门 //请编写一个程序,该程序可以接收一个字符, //比如:a,b,c,d,e,f,g a 表示星期一 ...

  2. 2021-11-23----韩顺平Java入门第十四天

    韩顺平Java入门第十四天(排序.查找) 1.排序     1).排序的介绍:排序是将多个数据,依指定的顺序进行排列的过程.     2).内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序 ...

  3. 2021-11-10----韩顺平Java入门第七天

    韩顺平Java入门第七天 1.标识符     标识符的概念         ①java对各种变量.方法和类等命名是使用的字符序列称为标识符.         ②凡是自己可以起名字的地方都叫标识符 in ...

  4. 韩顺平 java坦克大战_坦克大战完整版(韩顺平java)

    [实例简介] 坦克大战完整源代码(韩顺平java视频配套) [实例截图] [核心代码] 5i86q5 └── 源码 └── Class14 ├── 111.wav ├── bin │   ├── bo ...

  5. 韩顺平Java学习 泛型

    目录 一.泛型的语法 1.传统的方法遍历集合存在的问题 2.使用泛型来解决传统集合添加元素带来的问题 3.泛型使用介绍 4.泛型的使用细节 5.泛型课堂练习 二.自定义泛型 1.自定义泛型类的规范 ​ ...

  6. 韩顺平java基础——坦克大战(含有线程、I\O流的讲解)

    写在最前边: 研究生一枚,为后端实习和未来工作打基础.无意间发现韩顺平老师的课程,细心细致,讲课和吴恩达老师一样,都是保姆式讲解,各种基础知识都会补充,爱了. 韩顺平老师课程地址:https://ww ...

  7. Java笔记(韩顺平Java基础12-14章)

    Java学习笔记(第12章 P444-P459)(第13章P460-P498)(第14章P499-P553) 第12章 异常-Exception 异常介绍 编译异常 异常处理 try-catch异常处 ...

  8. 韩顺平Java自学笔记 反射

    一.反射入门案例 目录 一.反射入门案例 二.反射的机制 1.反射的原理 2.反射相关的类 3.反射的优点和缺点 三.Class类详解 1.Class类的特征 2.Class的常用方法 3.获取Cla ...

  9. 原创文章侵权检测功能开放白名单,欢迎大家申请试用;APP端签到功能重新上线,奖励加倍【2021.11.15】

    hello,大家好,这里是「CSDN产品周报」第18期.本次更新主要涉及首页.创作中心.APP 三个产品模块,具体细节请往下看. 一.首页优化 1.首页的热榜.专业榜.悬赏榜融合为「新热榜」信息流 2 ...

最新文章

  1. sed 每次只替换一行
  2. missing required icon file.图标错误解决
  3. 向MySQL数据库中插入数据,sql语句没问题,但插入失败也不报错?
  4. flink配置+停止flink中的job
  5. 简单的Session案例 —— 一次性验证码
  6. Java学习笔记1.1.1 搭建Java开发环境 - Java概述
  7. 微表情如何用计算机分析计算,基于微表情识别的学生课堂专注度分析系统研究...
  8. mysqldump导出insert带字段
  9. vue 侦听器侦听对象属性_SQL Server始终处于侦听器状态
  10. 大数据在企业中起到什么作用
  11. python的作用域分别有几种_Python中作用域的深入讲解
  12. Python面向对象-0
  13. pandownload提示“初始化脚本失败”解决方法
  14. getc()、getchar()、getch() 和 getche() 的区别
  15. 紫罗兰永恒花园rust简谱_みちしるべ简谱-紫罗兰永恒花园ed
  16. SDH原理--1.SDH概述
  17. 大数据开发:大数据背景下的数据库选型
  18. 原来PID是在老王头和老斯基的斗争中诞生的
  19. matlab abel变换图片处理
  20. Psins代码解析之静基座仿真(test_SINS_static.m)傅科、修拉周期水平通道误差传播(test_SINS_static_verify.m)

热门文章

  1. allwinner h5 android,天敏TM8-全志H5芯片安卓5.1系统纯净桌面线刷固件rom包下载
  2. 谷歌手机pixel4 夜景_如何在Google Pixel手机上使用实时字幕
  3. Mongodb的集群
  4. Python数据分析入门书籍推荐!
  5. Matlab中的\ 和/和pinv的关系以及运算
  6. npm -4048报错解决
  7. Adversarial Semantic Hallucination for Domain Generalized Semantic Segmentation
  8. 如何在 Linux 中运行 DOS 程序!
  9. 五个值得推荐的英语学习APP,你用过哪些
  10. 2020-09-19《GNU Radio软件无线电技术》白勇 胡驻华编著 笔记(1)