java学习之流程控制语句(选择结构)

时间:2022-09-08 16:55:17

 

流程控制语句

1 选择结构 if

if语句有三种语法格式,每一种格式都有它自身的特点。

1.1 if语句

if语句是指如果满足某种条件,就进行某种处理。

在Java中,if语句的具体语法格式如下:

if (条件语句){

    执行语句;

    ……

}

接下来通过一段代码,学习一下if语句的具体用法,IfDemo01.java

java学习之流程控制语句(选择结构)

java学习之流程控制语句(选择结构)

在上述代码中,定义了一个变量x,其初始值为5。在if语句的判断条件中判断x的值是否小于10,很明显条件成立,{}中的语句会被执行,变量x的值将进行自增。

从运行结果可以看出,x的值已由原来的5变成了6。

1.2 if...else 语句

if…else语句是指如果满足某种条件,就进行某种处理,否则就进行另一种处理。

if…else语句具体语法格式如下:

if (判断条件){

    执行语句1

    ……

}else{

    执行语句2

    ……

}

接下来通过一段代码,来实现判断奇偶数的程序,IfDemo02.java

java学习之流程控制语句(选择结构)

java学习之流程控制语句(选择结构)

上述代码中,变量num的值为19,模以2的结果为1,不等于0,判断条件不成立。因此会执行else后面{}中的语句,打印“num是一个奇数”。

1.3 if....else if....else语句

if…else if…else语句用于对多个条件进行判断,进行多种不同的处理。

if…else if…else语句具体语法格式如下:

if (判断条件1) {

    执行语句1

} else if (判断条件2) {

    执行语句2

}

...

else if (判断条件n) {

    执行语句n

} else {

    执行语句n+1

}

接下来通过一段代码,来实现对学生考试成绩进行等级划分的程序,IfDemo03.java

java学习之流程控制语句(选择结构)

java学习之流程控制语句(选择结构)

上述代码中,定义了学生成绩grade为75。它不满足第一个判断条件grade>80,会执行第二个判断条件grade>70,条件成立,因此会打印“该成绩的等级为良”。

2 选择结构 switch

switch 条件语句也是一种很常用的选择语句,它和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。

switch语句的基本语法格式,具体如下:

switch (表达式){

    case 目标值1:

        执行语句1

        break;

    case 目标值2:

        执行语句2

        break;

    ......

    case 目标值n:

        执行语句n

        break;

    default:

        执行语句n+1

        break;

}

在上面的格式中,switch语句将表达式的值与每个case中的目标值进行匹配,如果找到了匹配的值,会执行对应case后的语句,如果没找到任何匹配的值,就会执行default后的语句。switch语句中的break关键字将在后面的做具体介绍,此处,我们只需要知道break的作用是跳出switch语句即可。

 

需要注意的是,在switch语句中的表达式只能是byteshortcharint类型的值,如果传入其它类型的值,程序会报错。但上述说法并不严谨,实际上在JDK5.0中引入的新特性enum枚举也可以作为switch语句表达式的值,在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。

 

在使用switch语句的过程中,如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可,这是一种简写的方式。

例子:

java学习之流程控制语句(选择结构)

上述代码中,当变量week值为1、2、3、4、5中任意一个值时,处理方式相同,都会打印“今天是工作日”。同理,当变量week值为6、7中任意一个值时,打印“今天是休息日”。