Java流程控制03:顺序结构、04:if选择结构、05:Switch选择结构

Java流程控制03:顺序结构

  • Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行。
  • 顺序结构是最简单的算法结构。
  • 语句与语句之间,框与框之间是按从上到下的顺序进行的,它是由若干个依次执行的处理步骤组成的,它是任何一个算法都离不开的一种基本算法结构
package com.epfox.struct;

public class sequence {
    public static void main(String[] args) {
        System.out.println("Hello,World!1");
        System.out.println("Hello,World!2");
        System.out.println("Hello,World!3");
        System.out.println("Hello,World!4");
        System.out.println("Hello,World!5");
    }
}

java流程控制04:if选择结构

选择结构

  • if单选择结构
  • if双选择结构
  • if多选择结构
  • 嵌套的if结构
  • switch多选择结构

if单选择结构

  • 我们很多时候需要求判断要给东西是否可行,然后我们采取执行,这样一个过程在程序中用if语句来表示

  • 语法:

    if(布尔表达式){
        //如果布尔表达式为true讲执行的语句
    }
    
    package com.epfox.struct;
    
    import java.util.Scanner;
    
    public class IfDemo01 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("等待用户输入:");
            String s = scanner.nextLine();
            if(s.equals("hello")){
                System.out.println("hello");
            }
            System.out.println("End");
            scanner.close();
        }
    }
    
    

if双选择结构

  • 那现在有个需求,公司要收购一个软件,成功了,给人支付100万元,失败了,自己找人开发。这样的需求用一个if就搞不定了,我们需要有两个判断,需要一个双选择结构,所以就有个if-else结构。

  • 语法:

    if(布尔表达式){
        //如果布尔表达式的值为true
    }else{
        //如果布尔表达式的值为false
    }
    
    package com.epfox.struct;
    
    import java.util.Scanner;
    
    public class IfDemo02 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入成绩");
            int score = scanner.nextInt();
            if (score > 60){
                System.out.println("及格");
            }else{
                System.out.println("不及格");
            }
    
    
            scanner.close();
        }
    }
    
    

if多选择结构

  • 我们发现刚才的代码不符合实际情况,真实的情况还可能存在ABCD,存在区间多级判断。比如90-100就是A,80-90就是B…等等,在生活中我们很多时候的选择也不仅仅只是两个,所以我们需要一个多选择结构来处理这类问题!

  • 语法:

    if(布尔表达式 1){
        //如果布尔表达式 1的值为true执行代码
    }else if(布尔表达式 2){
        //如果布尔表达式 2的值为true执行代码
    }else if(布尔表达式 3){
        //如果布尔表达式 3的值为true执行代码
    }else {
        //如果以上布尔表达式都不为true执行代码
    }
    
    package com.epfox.struct;
    
    import java.util.Scanner;
    
    public class IfDemo03 {
        public static void main(String[] args) {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入成绩");
            int score = scanner.nextInt();
            if (score > 90 && score <= 100) {
                System.out.println("A");
            } else if (score > 80 && score <= 90) {
                System.out.println("B");
            } else if (score > 70 && score <= 80) {
                System.out.println("C");
            }else if (score >= 60 && score <= 70) {
                System.out.println("D");
            }else if(score < 60 && score >=0 ){
                System.out.println("不及格");
            }else{
                System.out.println("输入的成绩不合法");
            }
            scanner.close();
            }
        }
    

嵌套的if结构

  • 使用嵌套的if…else语句是合法的。也就是说你可以在另一个 if 或者 else if 语句中使用 if 或者 esle if 语句。你可以像 if 语句一样嵌套 else if…else。

  • 语法:

    if(布尔表达式 1){
        //如果布尔表达式 1的值为true执行代码
    }if(布尔表达式 2){
        //如果布尔表达式 2的值为true执行代码
    }
    

java流程控制05:Switch选择结构

多选择结构

  • 多选择结构还有一个实现方式就是switch case 语句。

  • switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

  • switch语句中的变量类型可以是:

    • byte、short、int或者char。
    • 从Java SE 7 开始
    • switch 支持字符串 String 类型了
    • 同时 case 标签必须为字符串常量或者字面量。
  • 语法:

    switch(expression){
        case value:
            //语句
            break; //可选
        case value:
            //语句
            break; //可选
        //你可以有人以数量的case语句
        default: //可选
            //语句
    }
    
    package com.epfox.struct;
    
    public class SwitchDemo01 {
        public static void main(String[] args) {
            //case 穿透
            char grade = 'C';
            switch (grade){
                case 'A':
                    System.out.println("优秀");
                    break;
                case 'B':
                    System.out.println("良好");
                    break;
                case 'C':
                    System.out.println("普通");
                    break;
                case 'D':
                    System.out.println("再接再厉");
                    break;
                case 'E':
                    System.out.println("挂科");
                    break;
                default:
                    System.out.println("未知成绩");
            }
        }
    }
    
    
    package com.epfox.struct;
    
    public class SwitchDemo02 {
        public static void main(String[] args) {
            String name = "epfox";
            switch (name){
                case "epfox":
                    System.out.println("epfox");
                    break;
                case "frozen":
                    System.out.println("frozen");
                    break;
                default:
                    System.out.println("undefind");
                    break;
            }
        }
    }
    
    
    //
    // Source code recreated from a .class file by IntelliJ IDEA
    // (powered by Fernflower decompiler)
    //
    
    package com.epfox.struct;
    
    public class SwitchDemo02 {
        public SwitchDemo02() {
        }
    
        public static void main(String[] args) {
            String name = "epfox";
            byte var3 = -1;
            switch(name.hashCode()) {
            case -1266085216:
                if (name.equals("frozen")) {
                    var3 = 1;
                }
                break;
            case 96713796:
                if (name.equals("epfox")) {
                    var3 = 0;
                }
            }
    
            switch(var3) {
            case 0:
                System.out.println("epfox");
                break;
            case 1:
                System.out.println("frozen");
                break;
            default:
                System.out.println("undefind");
            }
    
        }
    }
    
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值