zoukankan      html  css  js  c++  java
  • 流程控制语句

    流程控制语句

    /*
    在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。
    */
    
    /*
    流程控制语句分类:
    顺序结构
    
    ​    分支结构(if, switch)
    
    ​    循环结构(for, while, do…while)
    */
    
    /*
    顺序结构:
        顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。
    */

    顺序结构执行流程图:

    分支结构之if语句:

    /*
    格式:
    if (关系表达式) {
        语句体;    
    }
    */
    // 执行流程:
    /*
    ①首先计算关系表达式的值
    
    ②如果关系表达式的值为true就执行语句体
    
    ③如果关系表达式的值为false就不执行语句体
    
    ④继续执行后面的语句内容
    */

    示例:

    public class IfDemo {
        public static void main(String[] args) {
            System.out.println("开始");
            
            // 如果年龄大于18岁, 就可以上网吧
            int age = 17;
            
            if(age >= 18){
                // int a = 10;
                System.out.println("可以上网吧");
            }
                
            System.out.println("结束");
        }
    }
    /*
    格式:
    if (关系表达式) {
        语句体1;    
    } else {
        语句体2;    
    }
    
    执行流程:
    
    ①首先计算关系表达式的值
    
    ②如果关系表达式的值为true就执行语句体1
    
    ③如果关系表达式的值为false就执行语句体2
    
    ④继续执行后面的语句内容
    */

    /*
    示例:奇偶数
    ​    任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。
    */
    public class Demo2If {
        public static void main(String[] args) {
            // 程序判断一个数, 是奇数还是偶数
            int num = 9;
            
            if(num % 2 == 0){
                System.out.println("偶数");
            }else{
                System.out.println("奇数");
            }
        }
    }
    /*
    格式:
    if (关系表达式1) {
        语句体1;    
    } else if (关系表达式2) {
        语句体2;    
    } 
    …
    else {
        语句体n+1;
    }
    
    执行流程:
    
    ①首先计算关系表达式1的值
    
    ②如果值为true就执行语句体1;如果值为false就计算关系表达式2的值
    
    ③如果值为true就执行语句体2;如果值为false就计算关系表达式3的值
    
    ④…
    
    ⑤如果没有任何关系表达式为true,就执行语句体n+1。
    */

    // 定义一个在0~100之间的变量a, 90~100优秀,80~89良好,70~79中等,60~69及格,0~59请努力加油!
    public class Demo3If {
        public static void main(String[] args){
            int score = 65;
            if(score >= 90 && score <= 100){
                System.out.println("优秀");
            }else if (score >= 80 && score <= 89){
                System.out.println("良好");
            }else if (score >= 70 && score <= 79){
                System.out.println("中等");
            }else if (score >= 60 && score <= 69){
                System.out.println("及格");
            }else if (score >= 0 && score <= 59){
                System.out.println("请努力加油");
            }else{
                System.out.println("成绩有误!");
            }
        }
    }
    /*
    需求:小明快要期末考试了,小明爸爸对他说,会根据他不同的考试成绩,送他不同的礼物,假如你可以控制小明的得分,请用程序实现小明到底该获得什么样的礼物,并在控制台输出。
    
    分析:
    
    ​    ①小明的考试成绩未知,可以使用键盘录入的方式获取值
    
    ​    ②由于奖励种类较多,属于多种判断,采用if...else...if格式实现
    
    ​    ③为每种判断设置对应的条件
    
    ​    ④为每种判断设置对应的奖励
    */
    import java.util.Scanner;
    public class IfTest02 {
        public static void main(String[] args){
            // 1. 使用Scanner录入考试成绩
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入您的成绩:");
            int score = sc.nextInt();
            // 2. 判断成绩是否在合法范围内 0~100
            if(score >=0 && score <= 100){
                // 合法成绩
                // 3. 在合法的语句块中判断成绩范围符合哪一个奖励
                if(score >= 95 && score <= 100){
                    System.out.println("自行车一辆");
                }else if(score >= 90 && score <= 94){
                    System.out.println("游乐场一次");
                }else if(score >= 80 && score <= 89){
                    System.out.println("变形金刚一个");
                }else {
                    System.out.println("挨顿揍, 这座城市又多了一个伤心的人~");
                }
            }else{
                // 非法的话, 给出错误提示
                System.out.println("您的成绩输入有误!");
            }
        }
    }

    switch语句

    格式:
    
    switch (表达式) {
        case 1:
            语句体1;
            break;
        case 2:
            语句体2;
            break;
        ...
        default:
            语句体n+1;
            break;
    }
    /*
    执行流程:
    * 首先计算出表达式的值 
    * 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。 
    * 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
    */ 
    /*
    需求:键盘录入星期数,显示今天的减肥活动
    周一:跑步  
    周二:游泳  
    周三:慢走  
    周四:动感单车
    周五:拳击  
    周六:爬山  
    周日:好好吃一顿 
    */
    
    public static void main(String[] args){
            // 1. 键盘录入星期数据,使用变量接收
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入");
            int week = sc.nextInt();
            // 2. 多情况判断,采用switch语句实现
            switch(week){
                // 3. 在不同的case中,输出对应的减肥计划
                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;
            }
        }
    }

    switch语句case穿透:

    /*
    - 概述 : 如果switch语句中,case省略了break语句, 就会开始case穿透
    - 需求 : 键盘录入星期数,输出工作日、休息日 (1-5)工作日,(6-7)休息日
    case穿透是如何产生的?
            
            如果switch语句中,case省略了break语句, 就会开始case穿透.
            
            现象:
                当开始case穿透,后续的case就不会具有匹配效果,内部的语句都会执行
                直到看见break,或者将整体switch语句执行完毕,才会结束。
    */
    public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入星期数:");
            int week = sc.nextInt();
            
            switch(week){
                case 1:
                case 2:
                case 3:
                case 4:
                case 5:
                    System.out.println("工作日");
                    break;
                case 6:
                case 7:
                    System.out.println("休息日");
                    break;
                default:
                    System.out.println("您的输入有误");
                    break;
            }
        }    
    }

    for循环

    循环语句-for循环:

    /*
    循环:
    循环语句可以在满足循环条件的情况下,反复执行某一段代码,这段被重复执行的代码被称为循环体语句,当反复 执行这个循环体时,需要在合适的时候把循环判断条件修改为false,从而结束循环,否则循环将一直执行下去,形 成死循环。 
    
    for循环格式:
    for (初始化语句;条件判断语句;条件控制语句) {
        循环体语句;
    }
    
    格式解释:
        * 初始化语句:  用于表示循环开启时的起始状态,简单说就是循环开始的时候什么样
        * 条件判断语句:用于表示循环反复执行的条件,简单说就是判断循环是否能一直执行下去
        * 循环体语句:  用于表示循环反复执行的内容,简单说就是循环反复执行的事情
        * 条件控制语句:用于表示循环执行中每次变化的内容,简单说就是控制循环是否能执行下去
    
    执行流程:
    
        ①执行初始化语句
    
        ②执行条件判断语句,看其结果是true还是false
    
    ​             如果是false,循环结束
    
    ​             如果是true,继续执行
    
        ③执行循环体语句
    
        ④执行条件控制语句
    
        ⑤回到②继续
    */
  • 相关阅读:
    作业1-1 打印华氏温度与摄氏温度对照表
    python配置yaml
    python读写Excel方法(xlwt和xlrd)
    python发送邮件(smtplib)
    python之os模块(os.path)
    python简单面试题(2)
    python---Logging日志模块
    python---python装饰器
    如何从零开始学习自动化
    软件测试不得不知的基础知识
  • 原文地址:https://www.cnblogs.com/yangjiaoshou/p/14700096.html
Copyright © 2011-2022 走看看