做任何事情都要遵循一定的原则。程序设计也是如此,需要有流程控制语言实现与用户的交流,并根据用户的输入决定程序要“做什么”、“怎么做”等。
一、复合语句
与C语言以及其他语言相同,Java语言的复合语句是以整个区块为单位的语句,所以又称为块语句。复合语句由开括号“{”开始,闭括号“}”结束。复合语句的每个语句都是从上往下被执行。复合语句以整个块为单位,可以用在任何一个单独语句可以用到的地方,并且在复合语句中还可以嵌套符合语句。
示例如下:
在使用复合语句时需要注意,复合语句为局部变量创建了一个作用域,该作用域为程序的一部分,在该作用域中某个变量被创建并能够被使用。
二、条件语句
1.if条件语句
使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回的结果为true,则执行其后的语句;若为false,则不执行if条件之后的语句。
1.1简单的if条件语句
语法如下:
if(布尔表达式){
语句序列
}
布尔表达式:必要参数,表示它最后返回的结果必须是一个布尔值。它可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式。
语句序列:可选参数。可以是一条或者多条语句,当表达式的值为true时执行这些语句。若语句序列中仅有一条语句,则可以省略条件语句中的“{}”。
1.2if...else语句
语法如下:
if(表达式){
若干语句
}
else{
若干语句
}
if后面()内的表达式的值必须是boolean型的。如果表达式的值为true,则执行紧跟if语句的复合语句;如果表达式的值为false,则执行else后面的复合语句。if...else语句的执行过程如图所示:
1.3if...else if多分支语句
语法如下:
if(条件表达式1){
语句序列1
}
else if(条件表达式2){
语句序列2
}
...
else if(表达式n){
语句序列n
}
条件表达式1——条件表达式n:必要参数。可以由多个表达式组成,但最后返回的结果一定要为boolean类型。
语句序列:可以是一条或者多条语句,当表达式1的值为true时,执行语句序列1;当条件表达式2的值为true时,执行语句序列2,依次类推。if...else if多分支语句的执行过程如图所示:
2.switch多分支语句
在Java语言中,可以使用switch语句将动作组织起来,以一个简单明了的方式来实现“多选一”的选择。语法如下:
switch(表达式)
{
case 常量值1:
语句块1
[break;]
...
case 常量值n:
语句块n
[break;]
default;
语句块n+1
[break;]
}
switch语句中表达式的值必须是整型、字符型或字符串类型,常量值1~n必须也是整型、字符型或字符串类型。switch语句首先计算表达式的值,如果表达式的值和某个case后面的变量值相同,则执行case语句后的若干个语句直到遇到break语句为止。此时如果该语句中没有break语句,将继续执行后面case中的若干语句,直到遇到break语句为止。若没有一个常量与表达式的值相同,则执行default后面的语句。default语句为可选的,如果它不存在,且switch语句中表达式的值不与任何case的常量值相同,switch则不做任何处理。switch语句的执行过程如下:
三、循环语句
1.while语句
while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句。语法如下:
while(条件表达式){
执行语句
}
当条件表达式的返回值为真时,则执行“{}”中的语句,当执行完“{}”中的语句后,重新判断条件表达式的返回值,直到表达式返回的结果为假时,退出循环。while循环语句的执行过程如图所示:
2.do...while语句
do...while循环语句与while循环语句类似,它们之间的区别是while语句为先判断条件是否成立再执行循环体,而do...while循环语句则先执行一次循环后,再判断条件是否成立。也就是说do...while循环语句中“{}”中的程序段至少要被执行一次。语法如下:
do{
执行语句
}
while(条件表达式);
do...while循环语句的执行过程如下:
3.for循环语句
3.1for语句
语法如下:
for(表达式1;表达式2;表达式3)
{
语句序列
}
在执行for循环时,首先执行表达式1,完成某一变量的初始化工作;下一步判断表达式2的值,若表达式2的值为true,则进入循环体;在执行完循环体后紧接着计算表达式3,这部分通常是增加或减少循环控制变量的一个表达式。这样一轮循环就结束了。第二轮循环从计算表达式2开始,若表达式2返回true,则继续循环,否则跳出整个for语句。for循环语句执行过程如下图所示:
3.2foreach语句
foreach语句是for语句的特殊简化版本,不能完全替代for语句,但任何foreach语句都可以改写为for语句版本。foreach语句在遍历数组等方面有很大的方便。语法如下:
for(元素变量x:遍历对象obj)
引用了x的Java语句;
}