1、分支语句
(1)if-else语句
if -else语句是Java中的一条语句,有一个if、else和两个复合语句按一定格式构成,if-else语句的格式如下:
if(表达式){
若干语句
}
else{
若干语句
}
执行规则:if后面的()内的表达式的值必须是Boolean类型,若果表达式的值为true,则执行紧跟的复合语句;如果表达式的值为false,值执行else后面的复合语句。
值得注意的是:如果if和else后面只有一条语句,{ }可以省略不写,但是为了增强程序的可阅读性,最好不要省略。
(2)多条件if-else语句
语句格式如下:
if(表达式1){
若干语句
}
else if(表达式2){
若干语句
}
.......
else if(表达式n){
若干语句
}
else {
若干语句
}
2、switch开关语句
语句格式如下:
switch(表达式){
case 常量1:若干语句
break;
case 常量2:若干语句
break;
......
case 常量n:若干语句
break;
default:若干语句
}
switch语句中的表达式的值必须是整形或字符型,常量值1~n也必须是整形或字符型。switch语句计算表达式的值,若果表达式的值与某个case后面的常量相同,就执行case后面的语句,直到break语句为止;若是没有任何的常量值与表达式的值相同,则执行default后面的若干语句。其中default是可有可无的,如果default不存在,并且所有的常量值都与表达式的值不相同,那么switch语句将不进行任何处理。需要注意的是,同一个switch语句中,case后的常量必须互不相同。
例如:使用switch语句,用户在键盘输入一个代表月份的整数,程序输出该月是第几个季度。
public class Demo {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("输入一个月份:");
int n = reader.nextInt();
switch(n){
case 1:
case 2:
case 3:System.out.println(n+"月属于第一个季度");
break;
case 4:
case 5:
case 6:System.out.println(n+"月属于第二个季度");
break;
case 7:
case 8:
case 9:System.out.println(n+"月属于第三个季度");
break;
case 10:
case 11:
case 12:System.out.println(n+"月属于第四个季度");
break;
}
}
}
运行结果为:
输入一个月份:
5
5月属于第二个季度
2、循环语句
(1)while循环
while语句的一般格式:
while(表达式){
若干语句
}
while语句的则行规则:
<1>计算表达式的值,如果为true,就执行<2>,否则执行<3>;
<2>执行循环体,再执行<1>;
<3>结束while语句的执行。
(2)do-while循环
do-while语句的一般格式:
do{
若干语句
}while(表达式);
do-while循环和while循环的区别:do-while的循环体至少被执行一次。
(3)for循环
for语句的一般格式:
for(表达式1; 表达式2; 表达式3){
若干语句
注意:表达式2必须是一个求值为boolean类型数据的表达式。
for循环的执行规则:
<1>计算”表达式1“,完成必要的初始化工作;
<2>判断”表达式2“的值,若”表达式2“的值为true,则执行<3>;否则执行<4>;
<3>执行循环体,然后计算”表达式3“,以便改变循环条件,再执行<2>;
<4>结束for语句的执行。
3、跳转语句
跳转语句是指用关键字break或continue加上分号构成的语句。在循环体中使用跳转语句,如果某次循环体的执行中遇到break,那么整个循环语句就结束。如果某次循环体的执行中遇到continue语句,那么本次循环结束,即不再执行continue后面的语句,转入进行下一次循环。