zoukankan      html  css  js  c++  java
  • 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类型的值。

     

     

     

  • 相关阅读:
    服务上线怎么兼容旧版本?
    abstract class和interface有什么区别?
    Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
    寒假每日日报49(开发家庭记账本APP——进度十)
    寒假每周总结7
    寒假每日日报48(开发家庭记账本APP——进度九)
    寒假每日日报47(开发家庭记账本APP——进度八)
    寒假每日日报46(开发家庭记账本APP——进度七)
    寒假每日日报45(开发家庭记账本APP——进度六)
    寒假每日日报44(开发家庭记账本APP——进度五)
  • 原文地址:https://www.cnblogs.com/akiyama/p/10069579.html
Copyright © 2011-2022 走看看