流程控制
做任何事情都要遵循一定的原则。例如,到图书馆去借书,就必须要有借书证,并且借书证不能过期,这两个条件缺一不可。程序设计也是如此,需要有流程控制语句实现与用户的交流,并根据用户的输入决定程序要“做什么”“怎么做”等。
流程控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序步骤的基本手段。如果没有流程控制语句,整个程序将按照线性的顺序来执行,不能根据用户的输入决定执行的序列。本章将向读者讲解 Java 语言中的流程控制语句。
本章的知识架构及重难点如下。
1.复合语句
与C语言及其他语言相同,Java 语言的复合语句是以整个块区为单位的语句,所以又称块语句。
复合语句由开括号“{”开始,闭括号“}”结束。
在前面的学习中我们已经接触到了这种复合语句。例如,在定义一个类或方法时,类体就是以“{与“)”作为开始与结束的标记,方法体同样也是以“{”与“)”作为标记。复合语句中的每个语句都是从上到下被执行。复合语句以整个块为单位,能够用在任何一个单独语句可以使用的地方,并且在复合语句中还可以嵌套复合语句。
例如,下面这段代码,在主方法中定义了复合语句块,复合语句块中还可以包含另一复合语句块。
条件语句
IF语句
if 条件语句是一个重要的编程语句,用于告诉程序在某个条件成立的情况下执行某段语句,而在另一种情况下执行另外的语句。
使用 f条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字 f之后是作为条件的“布尔表达式”。如果该表达式返回的结果为 true,则执行其后的语句;如果为 false,则不执行 if条件之后的语句。if条件语句可分为简单的 if条件语句、if...else 语句和if...else if多分支语句。下面为分支结构。
例题4.1
switch多分支语句
在编程过程中,一个常见的问题就是检测一个变量是否符合某个条件,如果不符合,再用另一个值来检测,一次类推,当然,这种问题使用if条件语句也可完成。
switch 语句中表达式的值必须是整型、字符型、字符串类型或枚举类型,常量值 1~n 的数据类型必须与表达式的值的类型相同。
switch 语句首先计算表达式的值,如果表达式的计算结果和某个 case 后面的常量值相同,则执行该 case 语句后的若干个语句直到遇到 break 语句为止。此时,如果该 case 语句中没有 break 语句,将继续执行后面 case 中的若干个语句,直到遇到 break 语句为止。若没有一个常量的值与表达式的值相同,则执行 default 后面的语句。default 语句为可选的,如果它不存在,且 switch 语句中表达式的值不与任何case 的常量值相同,switch 语句则不做任何处理。
循环语句
while循环语句
while(条件表达式){
语句序列
}当条件表达式的返回值为真时,则执行“{}”中的语句,当执行完“{}”中的语句后,重新判断条件表达式的返回值,知道表达式返回的结果为假时,退出循环。while循环语句的执行过程如图
do...whlie循环语句
do...while 循环语句与 while 循环语类似,它们之间的区别是 while 语为先判断条件是否成再执行循环体,而do..while 循环语句则先执行一次循环后,再判断条件是否成立。也就是说,do...whilt循环语句“8”中的程序段至少要被执行一次。语法如下:
do{
语句序列}
while(条件表达式);
do....whlie语句的流程图如下:
for语句
or 循环是 Java 程序设计中最有用的循环语句之一。一个 for 循环可以用来重复执行某条语句,直到某个条件得到满足。for 循环有两种语句,一种是传统的 for 语句,一种是foreach 语句,下面分别介绍这两种语句的使用方法。
下面为for循环执行过程
do wihlie嵌到while循环