最新Java基础系列课程--Day03-Java程序流程控制(一)

简介: 最新Java基础系列课程--Day03-Java程序流程控制

第2章——程序流程控制

【教学内容】

2-1语句与复合语句

2-2顺序结构

2-3分支结构

2-4循环结构

2-5循环中的跳转语句

2-6递归算法

重点与难点】重点是分支结构、循环结构的理解。难点是递归算法。

【能力要求】(1)掌握分支结构、循环结构的语法(2)掌握递归算法的

各位同学,今天我们学习一个全新的知识——程序流程控制。什么是流程控制呢?说白了就是控制程序的执行顺序。

先给同学们介绍一下,程序有哪些流程控制、以及Java提供了哪些方案来控制程序的执行顺序?

程序的流程控制一般分为3种:顺序结构、分支结构、循环结构

  • 顺序结构:就是不加任何控制,代码从main方法开始自上而下执行
  • 分支结构:就是根据条件判断是true还是false,有选择性的执行哪些代码。在Java语言中提供了两个格式if 、 switch
  • 循环结构:就是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while

以上就是我们今天要学习的主要课程内容

一,简单语句与复合语句

Java语言中语句可以是以分号“;”结尾的简单语句,也可以是用一对花括号“{}”括起来的复合语句。

复合语句:由多个简单语句构成的语句块

示例:

public static void main(String[] args)
{
  int a = 10;//简单语句
  ……
   {  //复合语句
     int b;
     int a;  //错误,因变量a前面已定义
    ……
    }
 }

Java语言的复合语句与C++复合语句不同的是:Java语言不允许在两个嵌套的复合语句内声明两个同名的变量.

二、分支结构

2.1 if分支

各位同学,接下来我们学习分支结构的第一种形式——if分支。

if它的作用,是用于对条件进行判断,判断的结果只可能有两个值true或者false,然后根据条件判断的结果来决定执行那段代码。

1. if分支的应用场景有哪些呢?

比如,在火车站、地铁站等公共场所,会对过往的旅客测体温。如果体温在37度以内,就属于正常的;如果体温在37读以上,测体温的装置就会报警。

再比如,你在使用微信付钱时,微信内部的程序会先判断你的余额是否足够,如果足够就可以支付成功;如果余额不足,就会提示支付失败。

2. if分支的格式

接下来,我们来看一看if分支在Java语言中长什么样子呢?在Java中if分支有三种格式。

接下来我们用一些实际案例给大家演示一下if语句的应用,以及每一种if语句的执行流程。

3. if 第一种形式

if 第一种形式的代码格式,和执行流程如下图所示

if 第一种形式执行流程如下:
    如果 条件表达式 为true,就执行下面的语句体
    如果 条件表达式 为false,就不执行
// 需求:测量用户体温,发现体温高于37度就报警。
double t = 36.9;
if(t > 37){
    System.out.println("这个人的温度异常,把他赶紧带走~~");
}

4. if 第二种形式

if 第二种形式的代码格式,和执行流程如下图所示

if 第二种形式执行流程如下:
    如果 条件表达式 为true,就执行下面的语句体1
    如果 条件表达式 为false,就执行else下面的语句体2
// 需求2:发红包,你的钱包余额是99元,现在要发出90元
// 如果钱够触发发红包的动作,如果钱不够,则提示:余额不足。
double money = 19;
if(money >= 90){
    System.out.println("发红包成功了~");
}else {
    System.out.println("余额不足~~");
}

5. if 第三种形式

if 第三种形式的代码格式,和执行流程如下图所示

if 第三种形式执行流程如下:
    如果 条件表达式1 为true,就执行下面的代码1; 
    如果 条件表达式1 为false,就继续判断条件表达式2;
    如果 条件表达式2 为true,就执行下面的语句体;
    如果 条件表达式2 为false,就继续判断条件语句体3;
    如果 条件表达式3 为true,就执行下面的语句体3
    如果 条件表达式3 为false,就继续判断后面的表达式;
    ....
    如果前面所有条件表达式判断都为false,就执行最后的else语句中的代码
// 需求3:某个公司有一个绩效系统,根据员工的打分输出对应的绩效级别。[0,60) D  [60,80) C [80,90) B [90,100] A
int score = 298;
if(score >= 0 && score < 60) {
    System.out.println("您的绩效级别是: D");
}else if(score >= 60 && score < 80){
    System.out.println("您的绩效级别是: C");
}else if(score >= 80 && score < 90){
    System.out.println("您的绩效级别是: B");
}else if(score >= 90 && score <= 100){
    System.out.println("您的绩效级别是: A");
}else {
    System.out.println("您录入的分数有毛病~~");
}

6. if 使用的几个常见问题

同学们在第一次写if 代码时,经常一不小心会出现一些问题。下面把同学们可能出现的问题给大家看一看,以后大家要避免出现这些问题。

  • 第1个问题:if的()后面不能写分号; 否则if下面的语句与if无关

  • 第2个问题:if后面的大括号,如果只有一行代码,大括号可以省略

7. if 分支小结

关于if分支结构的几种格式,以及各种格式的执行流程,还有if在什么场景下使用我们就讲完了。下面我们总结一下

  • if分支有什么作用?举几个应用场景?
- if作用:if分支可以根据条件,选择执行某段程序
- if应用场景
    比如1:测量用户体温,发现体温高于37度就报警
    比如2:发红包,你的钱包余额是99元,现在要发出90元
    比如3:根据员工的绩效打分输出对应的绩效级别
  • if分支的格式有几种,执行流程是什么样的?


2.2 switch分支

学完if 分支之后,接下来我们来学习分支结构的第二种形式——switch分支。

1. switch分支的执行流程

switch 分支的作用,是通过比较值来决定执行哪条分支代码。先看一下switch分支的格式和执行流程

下面通过案例来演示一下

/*
需求:做个电子备忘录,在控制台分别输出周一到周五的工作安排
    周一:埋头苦干,解决bug              
    周二: 请求大牛程序员帮忙             
    周三:今晚啤酒、龙虾、小烧烤      
    周四:主动帮助新来的女程序解决bug
    周五:今晚吃鸡
    周六:与王婆介绍的小芳相亲
    周日:郁郁寡欢、准备上班。
*/
String week = "周三";
switch (week){
    case "周一":
        System.out.println("埋头苦干,解决bug");
        break;
    case "周二":
        System.out.println("请求大牛程序员帮忙");
        break;
    case "周三":
        System.out.println("今晚啤酒、龙虾、小烧烤");
        break;
    case "周四":
        System.out.println("主动帮助新来的女程序解决bug");
        break;
    case "周五":
        System.out.println("今晚吃鸡");
        break;
    case "周六":
        System.out.println("与王婆介绍的小芳相亲");
        break;
    case "周日":
        System.out.println("郁郁寡欢、准备上班");
        break;
    default:
        System.out.println("您输入的星期信息不存在~~~");
}


最新Java基础系列课程--Day03-Java程序流程控制(二)https://developer.aliyun.com/article/1423481

相关文章
|
16天前
|
缓存 监控 Java
Java线程池提交任务流程底层源码与源码解析
【11月更文挑战第30天】嘿,各位技术爱好者们,今天咱们来聊聊Java线程池提交任务的底层源码与源码解析。作为一个资深的Java开发者,我相信你一定对线程池并不陌生。线程池作为并发编程中的一大利器,其重要性不言而喻。今天,我将以对话的方式,带你一步步深入线程池的奥秘,从概述到功能点,再到背景和业务点,最后到底层原理和示例,让你对线程池有一个全新的认识。
47 12
|
26天前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
59 1
|
1月前
|
Java 大数据 API
14天Java基础学习——第1天:Java入门和环境搭建
本文介绍了Java的基础知识,包括Java的简介、历史和应用领域。详细讲解了如何安装JDK并配置环境变量,以及如何使用IntelliJ IDEA创建和运行Java项目。通过示例代码“HelloWorld.java”,展示了从编写到运行的全过程。适合初学者快速入门Java编程。
|
18天前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
32 0
|
1月前
|
小程序 前端开发 算法
|
1月前
|
Java API 开发者
Java如何实现企业微信审批流程
大家好,我是V哥。本文分享如何在企业微信中实现审批流程,通过调用企业微信的开放API完成。主要内容包括获取Access Token、创建审批模板、发起审批流程和查询审批结果。提供了一个Java示例代码,帮助开发者快速上手。希望对你有帮助,关注V哥爱编程,编码路上同行。
|
2月前
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
30 1
|
2月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
103 2
|
2月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
141 1
|
2月前
|
前端开发 安全 Java
java发布公告的实现流程
构建一个Java公告发布系统涉及到前端界面设计、后端业务逻辑处理、数据库设计与交互、安全性保障等多个环节。通过采用现代的开发框架和最佳实践,可以高效地开发出既安全又易于维护的系统。随着需求的增长,系统还可以进一步扩展,比如增加评论功能、通知订阅、多语言支持等。
46 1