29.基础语法-三元运算符

29 三元运算符

29.1 解释

if-else 的执行代码是赋值表达式时,可以用 三元运算符 代替

package com.itheima.chap06;

public class test {
    public static void main(String[] args) {
        // 商品变量, 表示用户购买的商品总价
        double totalPrice = 1000;
        // 定义变量, 表示兑换额奖品, 初始为空字符串
        String prize = "";
        // 判断价格是否满200
        if (totalPrice >= 200){
            prize ="生抽";
        } else {
            prize ="大蒜头";
        }
        System.out.println("送一 " + prize);  // 生抽
    }
}

------------------------------------------------ 执行后
D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=9179" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.chap06.test
送一 生抽

Process finished with exit code 0

29.2 示例代码

image

// 定义变量, 表示用户购买的商品总价
int totalPrice = 10;
// 判断价格是否满200
String prize = totalPrice >= 200 ? "生抽" : "大蒜头";

29.3 演示1

上面代码,进行三元运算符优化后

package com.itheima.chap06;

public class test {
    public static void main(String[] args) {
        // 商品变量, 表示用户购买的商品总价
        double totalPrice = 1000;
        // 定义变量, 表示兑换额奖品, 初始为空字符串
        // 判断价格是否满200
        String prize = totalPrice >= 200 ? "生抽" : "大蒜头";
        System.out.println("送一 " + prize);  // 生抽
    }
}

------------------------------------------------ 执行后
D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=10298" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.chap06.test
送一 生抽

Process finished with exit code 0

29.4 演示2

需求:判断价格,给出不同优惠(利用三元运算符实现功能)
  双十一大促,某商场给出全场优惠方案:
    满300打8折
    不满300打9折

鼠标放到 chap06 行,新建 New -> Java Class -> 输入 TernaryOperator(创建包和类)

package com.itheima.chap06;
import java.util.Scanner;
public class TernaryOperator {
    public static void main(String[] args) {
        // 1.键盘录入获取价格
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入商品总价: ");
        double price = sc.nextDouble();

        // 2.判断价格是否满300
        double discount = price >= 300 ? price * 0.8 : price * 0.9 ;
        System.out.println("打折后价格: " + discount);
    }
}

------------------------------------------------ 第一次执行后
D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=11435" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.chap06.TernaryOperator
请输入商品总价: 200
打折后价格: 180.0

Process finished with exit code 0

------------------------------------------------ 第二次执行后
D:\Software\jdk17\bin\java.exe "-javaagent:D:\Software\JetBrainsIntelliJ IDEA 2025.2.4\lib\idea_rt.jar=11478" -Dfile.encoding=UTF-8 -classpath D:\Software\JavaCode\p1-basic\out\production\p1-basic com.itheima.chap06.TernaryOperator
请输入商品总价: 400
打折后价格: 320.0

Process finished with exit code 0

———————————————————————————————————————————————————————————————————————————

                                                                                                                         无敌小马爱学习

posted on 2025-12-24 16:48  马俊南  阅读(8)  评论(0)    收藏  举报