java流程控制语句选择结构if和switch

一.if

1.if语句

if (条件语句){
  执行语句;
  ……
}

判断条件是一个布尔值,当判断条件为true时,{}中的执行语句才会执行。if语句的执行流程如下图所示。

if语句的具体用法

public class IfDemo01 {
    public static void main(String[] args) {
        int x = 5;
        if (x < 10) {
            x++;
        }
        System.out.println("x=" + x);
    }
}

2. if…else语句

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

if (判断条件){
    执行语句1
    ……
}else{
    执行语句2
    ……
}

当判断条件为true时,if后面{}中的执行语句1会执行。当判断条件为false时,else后面{}中的执行语句2会执行。if…else语句的执行流程如下图所示。

public class IfDemo02 {
    public static void main(String[] args) {
        int num = 19;
        if (num % 2 == 0) {
            // 判断条件成立,num被2整除
            System.out.println("num是一个偶数");
        } else {
            System.out.println("num是一个奇数");
        }
    }
}

3.if…else if…else语句

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

 

if (判断条件1) {
    执行语句1
} else if (判断条件2) {
    执行语句2
}
...
else if (判断条件n) {
    执行语句n
} else {
    执行语句n+1
}

当判断条件1为true时,if后面{}中的执行语句1会执行。当判断条件1为false时,会继续执行判断条件2,如果为true则执行语句2,以此类推,如果所有的判断条件都为false,则意味着所有条件均未满足,else后面{}中的执行语句n+1会执行。if…else if…else语句的执行流程如下图所示。

public class IfDemo03 {
    public static void main(String[] args) {
        int grade = 75; // 定义学生成绩
        if (grade > 80) {
            // 满足条件 grade > 80
            System.out.println("该成绩的等级为优");
        } else if (grade > 70) {
            // 不满足条件 grade > 80 ,但满足条件 grade > 70
            System.out.println("该成绩的等级为良");
        } else if (grade > 60) {
            // 不满足条件 grade > 70 ,但满足条件 grade > 60
            System.out.println("该成绩的等级为中");
        } else {
            // 不满足条件 grade > 60
            System.out.println("该成绩的等级为差");
        }
    }
}

二、选择结构if语句与三元运算转换

 

三元运算符,它和if-else语句类似,语法如下:

判断条件 ? 表达式1 : 表达式2

三元运算符会得到一个结果,通常用于对某个变量进行赋值,当判断条件成立时,运算结果为表达式1的值,否则结果为表达式2的值。

int x = 0;
int y = 1;
int max=0;
if (x > y) {
    max = x;
} else {
    max = y;
}

使用三元运算来替换

int max = x > y ? x : y;

三.switch

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

 

/*用于表示星期的数字
    如果等于1,则输出星期一
    如果等于2,则输出星期二
    如果等于3,则输出星期三
    如果等于4,则输出星期四
    如果等于5,则输出星期五
    如果等于6,则输出星期六
    如果等于7,则输出星期天*/
switch(用于表示星期的数字) {
    case 1 :
        输出星期一;
        break;
    case 2 :
        输出星期二;
        break;
    case 3 :
        输出星期三
        break;
    case 4 :
        输出星期四;
        break;
    case 5 :
        输出星期五;
        break;
    case 6:
        输出星期六;
        break;
    case 7:
        输出星期天;
        break;
}

 

注意:

在switch语句中的表达式只能是byte、short、char、int类型的值,

在JDK5.0中引入的新特性enum枚举

 

在JDK7.0中也引入了新特性,switch语句可以接收一个String类型的值。

 

 

 

 

 

 

 

 

posted on 2018-12-05 10:43  AkiyamaX  阅读(242)  评论(0编辑  收藏  举报