分支结构——一个编程小白的Java SE学习日志3【极客BOY-米奇】


前言(转载请说明作者!)2020.3.5-3.10编写

在之前学过的Java SE语言中,程序是按照从上到下的顺序来执行的,即顺序结构程序,顺序结构程序也是程序设计中最为常见的一种程序结构。
但是在程序设计中,只有顺序结构是不够的,可能你需要程序反复计算或执行某一个语句块、根据情况选择不同的语句执行、跳转到某一语句块执行,以上几种运行方式在程序中称为 “程序流程控制”
Java语言中的流程控制有选择(分支)结构、循环结构和跳转语句三种。
本博客只涵盖“程序流程控制”中的选择(分支)结构,其余的两个会在以后的博客中进行更新!

PS:如果你对C语言有着一定的基础,那么选择(分支)结构将不会是你重点攻克的对象,因为它简单易懂。


程序导引:分时问候机器人

任务实现:根据时间输出显示相应的问候语句。
e.g. 时间在[0,6)时时显示输出:主人,凌晨好,您起的真早啊!
本程序需要获取时间,按照时间显示输出相应的与疾病。


程序流程图

定义

程序流程图是程序分析中最基本、最重要的分析技术,它是进行程序流程分析过gong程中最基本的工具。
程序流程图使用“工序图示符号”,分析研究后对过程进行展示,提高效率。

符号的意义

符号意义
计算步骤或处理过程
程序的开始或结束
输入/输出指令(或数据)
判断和分支
连接点(同一流程中从一个进程到另一个进程的交叉引用)
流程线(控制流)
…………
一些不常用的符号:
文件:用一个波浪线水平截断的矩形,是文档及处理说明(输出文件、写入修改文件)。
双边矩形:计算步骤/子处理过程。

if-else以及多重结构

Created with Raphaël 2.3.0 if 开始 判断条件1 代码块 判断条件2 代码块 连接点 yes no yes no

if(判断条件1)
代码块1;
else if(判断条件2)
代码块2;
else if(判断条件3)
代码块3;
......
else //else即除了上述述判断条件的所有其他情况
代码块4;

上述用语言描述即为:
如果判断条件1为真,则执行代码块1,否则判断判断条件2,如果为真,则执行代码块2,如果判断条件2为假,则判断判断条件3……如果判断条件1、2、3……都不成立,则执行else所对应的代码块。

在代码块中,如果只有一条语句或有一个if-else、switch-case等结构的,大括号可以省略不写,但为了以后的程序开发与维护,使得程序可读性更强,所以大括号不建议省略。

判断条件必须是一个布尔表达式


程序实现:分时问候机器人

HelloRobot.java
程序实现:

import java.util.Calendar;
/*
 * 3-5 分时问候机器人
 * @author GeekBoy
 */
public class HelloRobot {
	public static void main(String[] args) {
		Calendar dt = Calendar.getInstance();
		int hour = dt.get(Calendar.HOUR_OF_DAY);//获取当前时间的小时数
		if (hour < 6) {
			System.out.println("凌晨好");
		} else if (hour < 9) {
			System.out.println("早上好");
		} else if (hour < 12) {
			System.out.println("上午好");
		} else if (hour < 14) {
			System.out.println("中午好");
		} else if (hour < 17) {
			System.out.println("下午好");
		} else if (hour < 19) {
			System.out.println("傍晚好");
		} else if (hour < 22) {
			System.out.println("晚上好");
		} else {
			System.out.println("深夜好");
		}
	}
}

PS:在java8中,存在一个过时的获取时间用法:

Date dt = New Date();
int hour = dt.getHours();//此处用法在java8已经失效

switch-case结构

switch(判断的变量){
case 数据:语句;
default:语句;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客BOY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值