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

// 定义变量, 表示用户购买的商品总价 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
———————————————————————————————————————————————————————————————————————————
无敌小马爱学习
浙公网安备 33010602011771号