• 分支语句


    分支语句

    1.流程控制

      1.1 流程控制分类

        • 顺序结构
        • 分支结构if,switch
        • 循环结构for,while,do...while

      1.2 顺序结构

       顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数代码都是这样执行的。

       顺序结构执行流程图:

                                                                  

    他是从上往下依次执行的。

     代码示例:

    package com.scxh.day01;
    
    public class Demo01Order {
        public static void main(String[] args) {
            System.out.println("开始");
            System.out.println("语句A");
            System.out.println("语句B");
            System.out.println("语句C");
            
            System.out.println("结束");
        }
    }

    运行结果:

       

    2. if语句

      2.1 if语句格式1

    格式:
    if(关系表达式){
      语句体;      
    }

    执行流程:

    ① 首先计算关系表达式的值

    ② 如果关系表达式的值为true就执行语句体

    ③ 如果关系表达式的值为false就不执行语句体

    ④ 继续执行后面的语句内容

     代码示例:

    package com.scxh.day01;
    
    public class Demo01If {
        public static void main(String[] args) {
            System.out.println("开始");
    
            //定义两个变量
            int a = 10;
            int b = 20;
    
    
            //需求:判断a和b的值是否相等,如果相等,就在控制台输出:a 等于 b
            if(a == b){
                System.out.println("a等于b");
            }
    
            //需求:判断a和c的值是否相等,如果相等,就在控制台输出:a等于c
            int c = 10;
            if(a == c){
                System.out.println("a等于c");
            }
            System.out.println("结束");
        }
    }

    运行结果:

      2.2  if语句格式2

    格式:
    if(关系表达式){
      语句体1;  
    }else{
      语句体2;  
    }

    执行流程:

    ①首先计算关系表达式的值

    ② 如果关系表达式的值为true就执行语句体1

    ③ 如果关系表达式的值为false就执行语句体2

    ④ 继续执行后面的语句内容

     代码示例:

    package com.scxh.day01;
    
    public class Demo02If {
        public static void main(String[] args) {
            System.out.println("开始");
    
            //定义两个变量
            int a = 10;
            int b = 20;
    
            //需求:判断a是否大于b,如果是,在控制台输出:a的值大于b;如果不是,在控制台输出:a的值不大于b
            if (a > b){
                System.out.println("a的值大于b");
            }else {
                System.out.println("a的值不大于b");
            }
            System.out.println("结束");
        }
    }

    运行结果:

     案例:奇偶数

    需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。

    分析:

    ① 为了体现任意给出一个整数,采用键盘录入一个数据,使用键盘录入功能需要包

    import java.util.Scanner;

    创建对象

    Scanner sc = new Scanner(System.in);

    接收数据

    int number = sc.nextInt();

    ②判断整数是奇数还是偶数要分两种情况经行判断,所以使用if…else结构

    if () {
    }else{
    }

    ③判断是否偶数需要用取余运算符来实现该功能number%2 == 0

    if(number % 2 == 0) {
    }else{
    }

    ④根据判定情况,在控制台输出对应内容

    if(number % 2 == 0){
      System.out.println(number+"是偶数")
    }else{
      System.out.println(number+"是奇数")  
    }

    代码示例:

    package com.scxh.day01;
    
    import java.util.Scanner;
    public class Demo02If {
        public static void main(String[] args) {
    
    //        为了体现任意给出一个整数,采用键盘录入一个数据,使用键盘录入功能需要包
    //        创建对象
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个整数:");
    //        接收数据
            int number = sc.nextInt();
    //        判断整数是奇数还是偶数要分两种情况经行判断,所以使用if…else结构
    //        判断是否偶数需要用取余运算符来实现该功能number%2 == 0
    //        根据判定情况,在控制台输出对应内容
            if(number%2 == 0){
                System.out.println(number + "是偶数");
            }else {
                System.out.println(number + "是奇数");
            }
    
        }
    }

    输出结果:

       2.3 if语句3

    格式:
    if(关系表达式1){
        语句体1;
    }else if(关系表达式2){
        语句体2;
    }
    …
    else{
        语句体n+1;
    }

    执行流程:

    ①首先计算关系表达式1的值

    ② 如果值为true就执行语句体1;如果关系表达式的值为false就执行语句体2

    ③ 如果值为true就执行语句体2;如果关系表达式的值为false就执行语句体3

    ④ …

    ⑤如果没有任何关系表达式为true,就执行语句体n+1。

     代码示例:

    package com.scxh.day01;
    
    import java.util.Scanner;
    public class Demo03If {
        public static void main(String[] args) {
            System.out.println("开始");
            //需求:键盘录入一个星期数(1,2,3,4,5,6,7),输出对应的星期一,星期二,星期三,……,星期日
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个星期数(1-7):");
            int week = sc.nextInt();
            if(week == 1){
                System.out.println("星期一");
            }else if(week == 2){
                System.out.println("星期二");
            }else if(week == 3){
                System.out.println("星期三");
            }else if(week == 4){
            System.out.println("星期四");
            }else if(week == 5){
            System.out.println("星期五");
            }else if(week == 6) {
                System.out.println("星期六");
            }else{
                System.out.println("星期日");
            }
            System.out.println("结束");
        }
    }

    输出结果:

    3.switch语句

      3.1 switch语句格式

    格式:
    switch(表达式){
        case 值1:
                        语句体1;
                        breakcase 值2:
                        语句体2;
                        break;
    …
    default:
                        语句体n+1;
                        [break;]
    }

    格式说明:

    • 表达式:取值为byte、short、int、char、JDK5以后可以是枚举,JDK7以后可以是String.
    • case:后面跟的是要和表达式进行比较的值。
    • break:表示中断,结束的意思,用来结束switch语句,
    • default:表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。

    执行流程

    ① 首先计算表达式的值。

    ② 依次和case后面的值进行比较,如果有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结束。

    ③ 如果所有的case后面的值和表达式的值都不匹配,就会执行default里面的语句体,然后结束掉程序。’

    代码示例:

    package com.scxh.day01;
    
    import java.util.Scanner;
    public class Demo01Switch {
        public static void main(String[] args) {
            System.out.println("开始");
    
            //需求:键盘录入一个星期数(1,2,3,4,5,6,7),输出对应的星期一,星期二,星期三,……,星期日
            Scanner sc = new Scanner(System.in);
    
            System.out.println("请输入一个星期数(1-7):");
            int week = sc.nextInt();
    
            switch (week){
                case 1:
                    System.out.println("星期一");
                    break;
                case 2:
                    System.out.println("星期二");
                    break;
                case 3:
                    System.out.println("星期三");
                    break;
                case 4:
                    System.out.println("星期四");
                    break;
                case 5:
                    System.out.println("星期五");
                    break;
                case 6:
                    System.out.println("星期六");
                    break;
                case 7:
                    System.out.println("星期日");
                    break;
                default:
                    System.out.println("你输入的星期数有误");
                    break;
            }
            System.out.println("结束");
        }
    
    }

    运行结果:

     注意事项:在switch语句当中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整体switch语句结束。

    代码示例:

    package com.scxh.day01;
    
    import java.util.Scanner;
    public class Demo01Switch {
        public static void main(String[] args) {
            System.out.println("开始");
            //需求:键盘录入一个星期数(1,2,3,4,5,6,7),输出对应的星期一,星期二,星期三,……,星期日
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入一个月份:");
            int month = sc.nextInt();
            //case穿透
            switch (month){
                case 1:
                case 2:
                case 12:
                    System.out.println("冬季");
                    break;
                case 6:
                case 7:
                case 8:
                    System.out.println("夏季");
                    break;
                case 9:
                case 10:
                case 11:
                    System.out.println("秋季");
                    break;
                case 3:
                case 4:
                case 5:
                    System.out.println("春季");
                    break;
                default:
                    System.out.println("你输入的月份有误");
                    break;
            }
            System.out.println("结束");
        }
    
    }

    运行结果:

  • 相关阅读:
    转:用十条命令在一分钟内检查Linux服务器性能
    android适配的努力
    转: Android Studio你不知道的调试技巧
    编码处理过滤器
    PageBean分页组件
    BaseServlet方法分发
    SQLHelper、DBUtil终极封装
    JavaEE面试题库
    Servlet、JSP选择题(2)
    Servlet、JSP选择题
  • 原文地址:https://www.cnblogs.com/ls011218/p/15834759.html
Copyright © 2020-2023  润新知