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 示例代碼

php三元運算符知識彙總_System

// 定義變量, 表示用户購買的商品總價
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

需求:判斷價格,給出不同優惠(利用三元運算符實現功能)S鼠標放到 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
S

Process finished with exit code 0

S