Java三目运算符

2年前 (2022) 程序员胖胖胖虎阿
184 0 0

1.什么是条件分支语句?条件分支语句共有几种写法?

条件分支语句就是根据条件不同,选择执行不同代码的结构,Java中共有三种声明条件分支语句的语法,分别为:

  1. if 语句
  2. 三目运算符
  3. switch语句

案例:判断输入的数值是奇数还是偶数,if 语句非常简单:

        System.out.println("请输入一个数字:");
        int num = sc.nextInt();
        //输出用户输入的数据是奇数还是偶数?
        //分析:通过条件分支语句进行判断!
        if (num % 2 == 0) {//证明:数值除以二等于0,是偶数
            System.out.println("偶数");
        } else {//证明:除以2不等于0,是奇数
            System.out.println("奇数");
        }

2. 三目元算符又称为三元运算符也称为条件运算符,目的就是根据条件得到数据结果,语法结构:

判断条件 ?条件成立结果 :条件不成立结果

需要注意的是,三目运算符得到的是数据结果,不是代码表达式 。

  • 优势:判断两种分支的代码非常简单
  • 劣势:不太适用于判断多中分支(可以用来判断,需要通过三目元算符嵌套完成!)
public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        int num = sc.nextInt();
        //输出用户输入的数据是奇数还是偶数?
        //分析:num对2取余是否等于0 ? (如果条件成立)输出偶数 :(如果不成立)输出奇数
        System.out.println(num % 2 == 0 ? "偶数" : "奇数");
    }

如果遇到判断三个数值大小,或者4个数值大小时候,就会非常麻烦

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第1个整数:");
        int a = sc.nextInt();
        System.out.println("请输入第2个整数:");
        int b = sc.nextInt();
        System.out.println("请输入第3个整数:");
        int c = sc.nextInt();
        System.out.println("请输入第4个整数:");
        int d = sc.nextInt();
        //输出三个变量的最大值!(三目运算符)
        //a > b ? a : b等价于求得了a和b中的最大值!
        System.out.println((a > b ? a : b) > c ? (a > b ? a : b) : c);
        System.out.println(a > b ? (a > c ? a : c) : (b > c ? b : c));

        //输出四个变量的最大值!
        System.out.println(a > b ? (a > c ? (a > d ? a : d) : (c > d ? c : d)) : (b > c ? (b > d ? b : d) : (c > d ? c : d)));

 3. switch语句的语法结构如下:

switch (变量) {
        case 值1: 
            满足变量等于值1运行的代码;
            break;
        case 值2: 
            满足变量等于值2运行的代码;
            break;
        case 值3: 
            满足变量等于值3运行的代码;
            break;
        default:
            不满足以上任何情况运行的代码;
            break;
    }

break用在switch语句中表示结束当前switch语句的执行,如果省略break,那么switch语句会跳过后续所有判断继续执行,直到遇到break或者switch运行结束为止!

  • 优势:适用于判断一个数的多种分支的情况
  • 劣势:switch只能判断相等的情况
        /*
        周一:上班
        周二:上班
        周三:出差
        周四:上班
        周五:上班
        周六:睡觉
        周日:打球
        否则:日期有误
         */
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入今天周几?");
        int week = sc.nextInt();
        //根据周几输出不同的内容(switch语句)
        switch (week) {
            case 1:
            case 2://当前一个判断句没有break时,运行不会终止,(case=1245都会输出上班)
            case 4:
            case 5:
                System.out.println("上班");
                break;
            case 3:
                System.out.println("出差");
                break;
            case 6:
                System.out.println("睡觉");
                break;
            case 7:
                System.out.println("打球");
                break;
            default:
                System.out.println("日期有误");
                break;
        }
版权声明:程序员胖胖胖虎阿 发表于 2022年9月8日 上午7:16。
转载请注明:Java三目运算符 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...