JAVA程序控制语句
4.程序控制语句
我们在使用任何编程语言都使用过程序控制语句,Java语言的程序控制语句基本与C语言完全相同,它主要分为以下几种:选择、循环和跳转。
4.1 选择语句
4.1.1 if语句
if语句是最基本的条件判断语句,用于根据条件来控制程序的执行路径。其完整格式如下:
if (condition) statement1;
else statement2;
if和else的对象statement可以是单个语句,也可以是个程序块。else子句是可选的。
另外if-else可以嵌套。所以这里需要提醒大家注意的是,如果你没有使用{}来保证每个程序块是具体所属那个if或者else子句,那么一定要注意if和else的匹配关系。一个else子句总是对应着它的同一个块中的最近的if语句,而且该语句没有于其他的else语句相关联。
4.1.2 switch语句
switch语句是Java的多路分支语句。它提供了一种基于一个表达式的值来使程序执行不同部分的简单方法。它比使用一系列if-else-if语句效率显得更高,也更方便。其通用格式如下:
switch ( expression ) {
case value1:
// statement sequence
break;
case value2:
// statement sequence
break;
.
.
.
case valueN:
// statement sequence
break;
default:
// default statement sequence
}
表达式expression必须为byte、short、int或char类型。每个case子句后的值必须是于表达式类型兼容的特定的一个常量(注意必须是常量,而不是变量)。Default子句是可选的。重复的default子句或者重复的case值是不允许的。
4.2 循环语句
4.2.1 while循环
while语句是Java最基本的循环语句。当它的控制表达式为真的时候,while语句重复执行单个语句或语句块。通用格式如下:
while ( condition ) {
// body of loop
}
注意的是,如果循环体只有单个语句,可以不使用{}。后面的do-while、for也类似。
同学们可以结合实验一来加深对while循环的理解。
4.2.2 do-while循环
与while循环类似,只是循环控制表达式是在循环体的尾部进行测试。这意味着即使表达式为假,循环体也至少要被执行一次。通用格式如下:
do {
// body of loop
} while ( condition ) ;
4.2.3 for循环
for循环是一个功能强大而且形式灵活的结构。通用格式如下:
for ( initialization ; condition ; iteration ) {
// body
}
它与C语言完全相同,按它分为的三段,for循环执行的过程也可以看作是三步。首先循环启动时先执行初始化initialization部分,通常这里是设置循环控制变量值的一个表达式,作为控制循环的计数器。然后,计算条件condition的值,来判断是否满足该表达式,执行循环体。最后执行循环体的反复部分iteration,一般来说这里通常是增加或者减少循环控制变量的一个表达式。
需要注意的是,对于initialization和iteration两个部分而言,可以使用多个变量表达式,中间用逗号隔开。另外,for循环也可以不含任何的部分,这样做就是一个死循环。总之,对于for循环语句的使用相当的灵活,大家可以在具体的应用中感受到。
4.3 跳转语句
4.3.1 break语句
break语句有三种作用。首先,可以在switch语句中使用,用来终止一个子句序列,跳出switch语句。另外,它能用来退出一个循环,这种使用与C语言也完全一致。第三种,它能作为一种“先进”的goto语句来使用。这是Java的一个特点,我们特别讨论一下。
我们知道,对于一个比较优秀的语言来讲,都限定使用goto语句。Java语言虽然把goto作为了保留关键字,但并不使用这个语句。它提供了break语句来扩展的实现它的一些功能。通过使用带有标签的break语句,来指定执行从何处重新开始。标签break语句的通用格式如下:
break label ;
这里,标签label是标识代码块的标签。当这种形式的break执行时,控制被传递处指定的代码块。但需要注意的是,如果一个标签不在包围break的块中定义,你就不能break到该标签。一般来说,在实际应用中,带标签的break语句可以用来跳转到多重循环体之外。
4.3.2 continue语句
用法与C语言类似,用来强迫一个循环提早反复。也就是说,你可以使用continue来继续运行循环,但忽略这次重复剩余的循环体语句。
阅读(1233) | 评论(0) | 转发(0) |