Java基础(循环判断)

day03——程序流程控制

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

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

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

  • 顺序结构:就是不加任何控制,代码从main方法开始自上而下执行

  • 分支结构:就是根据条件判断是true还是false,有选择性的执行哪些代码。在Java语言中提供了两个格式if 、 switch

  • 循环结构:就是控制某一段代码重复执行。在Java语言中提供了三种格式,for、while、do-while

在这里插入图片描述

一、分支结构

1.1 if分支

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

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

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

在这里插入图片描述

3. if 第一种形式

if 第一种形式的代码格式,和执行流程如下图所示
在这里插入图片描述

4. if 第二种形式

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

在这里插入图片描述

5. if 第三种形式

if 第三种形式的代码格式,和执行流程如下图所示
在这里插入图片描述
6. if 使用的几个常见问题

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

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

在这里插入图片描述

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

在这里插入图片描述

7. if 分支小结

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

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

在这里插入图片描述


1.2 switch分支

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

1. switch分支的执行流程

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

在这里插入图片描述

1.3 switch 注意事项

各位同学,接下来我们学习swtich的注意事项。同学们掌握这些注意事项之后,就可以避免入坑了,也可以应对一些面试笔试题。

- 1.表达式类型只能是byteshortintchar
	JDK5开始支持枚举,JDK7开始支持String
	不支持doublefloatdouble
    
- 2.case给出的值不允许重复,且只能是字面量,不能是变量。
		
- 3.正常使用switch的时候,不要忘记写break,否则会出现穿透现象。

1. 演示switch语句匹配的数据类型

各位同学,如果下图所示,可以自己分别用变量a、b放在switch语句中匹配试一试,如果遇到不支持的写法,IDEA会报错的。

在这里插入图片描述

2. 演示case后面的值,只能是字面量不能是变量

各位同学,也可以自己试试,下图箭头指向的位置只能写字面量,不能写变量

在这里插入图片描述

3. 演示case穿透现象

当switch语句中没有遇到break,就会直接穿透到下一个case语句执行,直到遇到break为止。

这种语法设计也是有它的用处的,当多个case语句想要执行同一段代码时,可以利用case穿透现象,提高代码复用性。

比如:我们下面程序中,想要让周二、周三、周四,都请大牛程序员来写代码。

在这里插入图片描述

二、循环结构

各位同学,接下来我们学习循环结构。循环结构可以控制一段代码重复执行。循环结构有for循环、while循环、do-while循环。

2.1 for循环——格式和流程

这里首先来学习for循环,同学们重点掌握for循环的书写格式,并理解for循环的执行流程。

1. for循环的格式和流程

为了让大家更直观的理解for循环的执行流程,我们直接来看具体的案例代码。

比如:我们想要在控制台打印输出3个HelloWorld

//需求:打印3行Hello World
for(int i = 0; i < 3; i++) {
    System.out.println("Hello World");
}

如下图所示,是按照下面的① ② ③ ④, ② ③ ④… 的顺序来执行的;

当②条件为true时,再依次执行③④代码,然后回到②继续判断

当②条件为false时,就结束循环
在这里插入图片描述

在这里插入图片描述

通过上面的案例演示,最后我们再总结一下for循环的格式

//for循环格式:
for (初始化语句; 循环条件; 迭代语句) {
    循环体语句(重复执行的代码);
}
  • 初始化语句:一般是定义一个变量,并给初始值
  • 循环条件:一般是一个关系表达式,结果必须是true或者false
  • 迭代语句:用于对条件进行控制,一般是自增或者自减
  • 循环语句体:需要重复执行的代码

2. for循环有哪些应用场景

通过上面的学习,我们已经知道了for循环怎么编写,并且也知道了它的执行流程。

那么具体在哪些实际场景下使用呢?其实只要是重复做的事情,都可以用循环语句来做

2.3 while循环——格式和流程

各位同学,接下来我们学习第二种循环结构——while循环。

我们先来认识一下while循环长什么样子,然后按照格式写一个while循环的基础案例

在这里插入图片描述

// 需求:打印5行Hello World
int i = 0;
while (i < 5) {
    // i = 0 1 2 3 4
    System.out.println("Hello World");
    i++;
}

代码的执行流程如下图所示:按照① ②③④ ②③④ … 的流程执行

如果②步骤为true,才循环执行③④步骤

如果②步骤为false,则循环结束
在这里插入图片描述

在这里插入图片描述
for、while如何选择

学到这里,细心的同学可能会发现while循环和for循环的执行流程是一样的。那他们是不是可以通用呢?

  • 从功能来说:能够用for循环做的,都能用while循环做。

  • 使用规范上来说:知道循环几次,建议使用for;不知道循环几次建议使用while

2.4 do-while循环——格式和流程

各位同学,接下来我们学习循环结构的第三种格式——do-while循环。

们先来认识一下while循环长什么样子,然后按照格式写一个while循环的基础案例。

在这里插入图片描述

如下图所示:do-while循环的执行流程,是按照① ②③④ ②③④… 的顺序执行的。

我们会发现,do-while循环的特点是先执行,再判断的。即使条件不成立,也会先执行一次。

在这里插入图片描述

下面我们把三种循环的区别给同学们总结一下

1 for循环 和 while循环(先判断后执行); do…while (先执行后判断)

2.for循环和while循环的执行流程是一模一样的, 功能上无区别,for能做的while也能做,反之亦然。 如果已知循环次数建议使用for循环,如果不清楚要循环多少次建议使用while循环。

3 for循环中控制循环的变量只在循环中使用 while循环中,控制循环的变量在循环后还可以继续使用

2.6 死循环

同学们在写代码时,可能一不小心把代码写成了死循环,所谓死循环就是停不下来的循环。

接下来,带着同学们认识几种死循环的写法。然后再说一下死循环有什么用。

//for死循环
for ( ; ; ){
    System.out.println("Hello World1");
}

//while死循环
while (true) {
    System.out.println("Hello World2");
}

//do-while死循环
do {
    System.out.println("Hello World3");
}while (true);

死循环有什么应用场景呢?

最典型的是可以用死循环来做服务器程序, 比如百度的服务器程序就是一直在执行的,你随时都可以通过浏览器去访问百度。如果哪一天百度的服务器停止了运行,有就意味着所有的人都永不了百度提供的服务了。

对于这样的应用我们目前了解一下就可以了。对于目前来说我们只要知道代码格式该怎么写,能达到什么效果就行。

总结一下,对于嵌套循环重点理解这句话:外部循环每循环一次,内部循环会全部执行完一轮。

2.8 循环嵌套

各位同学,接下来我们学习一种在实际工作中很常用的循环形式——循环嵌套。

所谓循环嵌套,就是一个循环中又包含另一个循环(就是同学们常说的,套娃_
在这里插入图片描述

跳转语句 break 、continue

前面我们学习了循环结构,在中间我们还接触了死循环的一些形式,那么我想要在循环过程中提前跳出循环怎么做呢?

这里就需要用到跳转语句,需要用到breakcontinue两个关键字。我们先来认识一下这两个关键字的作用

  • break作用:跳出并结束当前所在循环的执行
  • continue作用:结束本次循环,进入下一次循环

2.10 循环结构总结

到这里关于循环结构的所有内容就都已经学习完了,我们再把几种循环结构在什么场景下使用,再总结一下。

1. 什么是流程控制
	答:流程控制是用来控制程序的执行顺序的
	
2. 分支结构ifswitch,如何选择?
	答:if分支:一般用于对一个范围进行判断
		switch分支:对一个一个值进行匹配
		
3. for循环和while循环、do-while如何循环
	答:知道循环次数用for、不知道循环次数用while
	   想要先执行,再判断,用do-while

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值