从零开始学Java 第6章 程序控制语句

第6章  程序控制语句
编程语言都是使用控制语句来执行程序的过程,进行程序状态的改变。Java主要的控制语句有三种,选择语句、循环语句、跳转语句。本章会对这三种语句的各种形式进行详细的介绍,在最后一节中举了两个例子作为程序控制语句的实例。
6.1  选择结构
选择结构是指根据程序运行时候产生的结果或者用户的输入条件执行相应的代码。在Java中有两种选择语句可以使用:if和switch。使用它们可以根据条件来选择接下来要干什么。本节会对这两种形式语句进行介绍。
6.1.1  if语句
if语句是最简单的选择语句。它可以控制程序在两个不同的路径中执行。下面是if语句的一般形式:
 if(条件)
{
//语句块1
}
else
{
//后续语句
}
6.1.1  if语句
1.嵌套if语句
条件语句可以嵌套的使用。有一个原则是else语句总是和其最近的if语句相搭配,当然前提是这两个部分必须在一个块中。
2.if-else-if-else阶梯
当条件有多个运行结果的时候上面的两种形式就不能满足要求了,可以使用if-else阶梯的形式来进行多个条件选择。
6.1.2  switch语句
如果采用if-else阶梯的形式来进行多路分支语句处理,就不免有些太过于复杂繁琐,Java中还提供了一种比较简单的形式,就是使用switch语句来进行处理,表达式必须是byte、short、int或者是char类型。在case后边的value值必须是跟表达式类型一致类型或者是可以兼容的类型,不能出现重复的value值。
6.2  循环结构
程序语言中的循环语句是重复去执行一组语句,在遇到让循环终止的条件前,它需要一次或多次的重复执行。Java中的常用循环形式有三种,for、while、do-while循环。在本节中会介绍各种循环语句形式。
6.2.1  while循环
循环语句都有一个固定的过程。有一个条件控制循环语句,如果条件为真则继续执行循环语句,否则结束循环然后执行后续语句。几种循环语句都是符合这个过程的。如果条件为真,就会一直执行循环语句的内容,直到条件的值为假。while循环中的条件可以是布尔类型的值、变量和表达式,也可以是一个结果为布尔类型值的方法。如果循环中的条件为假,则会跳过循环语句直接执行下面的语句。
6.2.2  for循环
while循环和do-while循环在使用上还不够强大,Java中提供了一个for循环来增强循环语句的使用,for循环的一半使用格式如下。for循环在执行第一次循环时会先执行循环的初始化,并通过初始化来设置控制循环变量的值,接下来就需要计算条件,此处和while循环不同的是,条件必须是一个布尔表达式。如果表达式的值为真,则会继续执行循环,如果表达式的值为假,则会终止程序并跳出循环。然后要执行迭代运算,一般情况下迭代运算是一个表达式,可以增加或者减小循环控制变量的值,最后要计算条件根结果判断是否再次执行循环体。
6.2.2  for循环
1.多个循环控制变量
Java中多控制循环执行的多个变量之间使用逗号隔开,
2.for循环的灵活变化
for循环的使用是很了灵活的。之所以这样是因为它由三部分控制,初始化部分、条件测试和迭代使用起来都是很灵活的。

6.3  中断控制
中断控制语句主要用于对程序执行流程的控制,可以在程序的执行过程中,直接进行跳转,或者是终止程序的运行。Java中有三种跳转语句:break语句、continue语句和return语句。
6.3.1  break语句
break语句是中断程序流程,其主要存在于循环语句中,用于终止循环的继续进行。在前面所介绍的switch语句中已经涉及到了break的这部分功能。
break语句可以强制使循环终止。即便是满足循环条件也会强制跳出,运行break语句后,跳出循环,程序会继续从循环后的下一条语句开始执行。
6.3.2  continue语句
有些时候并不需要跳出循环,但是要停止本次的循环的剩余语句。这时就要使用到continue语句。continue语句是强制本次循环提前结束。也可说是让循环继续执行,但不会再执行本次循环的剩余语句块。
6.3.3  return语句
return语句是跳转语句,可以从当前的方法中退出,并返回调用方法的地方。可以使用return返回一种数据,例如布尔类型、整型等,表示该方法返回一个值。return只能使用在方法中,如果方法没有返回值,
6.4  程序控制语句使用实例
本节主要介绍两个小程序的编写来综合上边的各种语句。学会综合的使用它们才能编写出符合逻辑的优秀程序,读者自己体会一下本节举得两个例子。这两个例子一个是乘法表,另一个是螺旋矩阵,都是比较复杂的实现。
6.4.1  杨辉三角
本小节介绍一个杨辉三角的实现,并且通过使用双重for循环来实现。杨辉三角满足如下几个条件:
1.每一行的数字式左右对称的,并且由1开始相左逐渐变大,然后逐渐变小,最左边和最右边的数字都是1
2.第n行数字的个数是n。
3.每个数字的值等于上一行左右两个数字的和。
6.4.2  螺旋矩阵
螺旋矩阵式一个类似于蛇形的多维数组,数字从第一行第一列开始盘旋增大,像一条蛇盘成一圈一样。数字从外到内不断增大。
6.5 小结
本章的主要内容是介绍Java的各种流程控制语句,流程控制语句是程序语言的灵魂,灵活的使用流程控制语句可以是程序清晰的按照要求来执行。所以读者需要好好体会各种语句的使用,这是编程的重要基础。如果读者有其它语言的基础,那么本节内容学习起来会很轻松,因为Java的流程控制语句是很清晰的。下一章会进行数组的介绍。

原文地址:https://www.cnblogs.com/yoogoo/p/2467259.html