大家好,我是指北君。
实习生:指北君,今天能给我讲讲流程控制吗?流程控制到底有哪些东西。
指北君 :好,今天我就给你把把脉。Java 中的流程控制相关的东西也挺多的,比如说块作用域、if-else、switch、for循环、while循环等等。
块作用域
指北君:在我们学习流程控制语句之前呢,我们先来熟悉一下什么是块作用域。
块 是指一对大括号括起来的若干条简单的Java语句,它确定了变量的作用域,多个块允许嵌套。
1 |
|
但是呢, 嵌套块中的变量不能重复定义。比如下面的示例代码就不能编译成功。
1 |
|
if-else 条件语句
if 语句
if 语句的基本格式:
1 |
|
来个示例
1 |
|
结果输出:
1 |
|
if-else 语句
if-else 语句基本格式:
1 |
|
来个示例
1 |
|
结果输出:
1 |
|
if-else-if 语句
if-else-if 语句基本格式
1 |
|
来个示例:
1 |
|
结果输出
1 |
|
循环语句
指北君:我们比较常见循环有 for 循环和 while 循环,do..while 是 while 循环的一个变种。
for 循环
for 循环一般可以分为4个部分:
1)初始变量:循环开始执行时的初始条件。
2)条件: 循环每次执行前要检测的条件,如果为 true,就执行循环体; 如果为 false,就跳出循环。当然了,条件是可选的,如果没有条件,则会一直循环。
3)循环体: 循环每次要执行的代码块,直到条件变为 false。
4)变量更新: 更新变量。
基本格式
1 |
|
来个示例:
1 |
|
结果输出:
1 |
|
while 循环
while 循环基本格式
1 |
|
来个示例
1 |
|
结果输出
1 |
|
switch 语句
在处理多个选项时,if-else语句显得有些笨拙,switch语句刚好能够承担起这个责任。switch能够在多个选项的条件下快速的比较其相等性。
switch 基本格式
1 |
|
来个示例
1 |
|
结果输出
1 |
|
指北君:仔细看的话,你会发现switch 语句中有个break,它是Java的一个关键字,主要是用来中断循环或者switch语句的。
上面的switch示例中 age 在匹配到20之后打印了“学生”,之后就不会去判断25和default的分支,直接跳出了switch语句。
实习生:嗯嗯,这个我能够理解,我好像有看到continue,goto之类的关键字。
指北君:goto,在Java中一般都不建议使用的,使用goto很容易入坑,特别是大量使用的时候,会让你对整个业务逻辑变得难以理解。所以一般来说我们不轻易使用它。 continue就相对比较简单一些,使用场景基本就是循环中,中断当前循环的意思。
实习生:哦哦,好的,理解了。
指北君:Java流程控制相关的内容就这些了。今天先到这里下次聊。
实习生:好的,谢指北君。
总结
今天我们主要是聊了下Java流程控制,比如说块作用域、if-else、switch、for循环、while循环等等。这些流程控制的东西处处可见,我们需要掌握扎实的基础,来应对复杂的场景。