【Java】三元运算符

一、引入

又叫做:三元表达式或者问号冒号表达式。作用:可以进行判断,根据判断的结果得到不同的内容。

格式关系表达式 ? 表达式1 :表达式2 ;

其中的 关系表达式 就是一个判断

计算规则

  • 计算关系表达式的值。
  • 如果关系表达式的值为真,那么执行表达式1。
  • 如果关系表达式的值为假,那么执行表达式2。

注意点:三元运算符的最终结果一定要被使用,要么赋值给一个变量,要么直接打印出来,如果单独在代码中写一个三元表达式,是会报错的。


二、代码示例

需求:使用三元运算符,获取两个数的较大值

package com.itheima.ternaryoperator;

public class TernaryoperatorDemo1 {
    public static void main(String[] args) {
        //分析:
        //1.定义两个变量记录两个整数
        int number1 = 10;
        int number2 = 20;

        //2.使用三元运算符获取两个整数的较大值
        //格式:  关系表达式 ? 表达式1 : 表达式2;
        //整个三元运算符的结果必须要被使用
        int max = number1 > number2 ? number1 : number2; // 赋值给一个变量
        System.out.println(max);

        System.out.println(number1 > number2 ? number1 : number2); // 直接打印出来,此时在式子的最后就不需要加分号了
    }
}


三、练习1-两只老虎

需求:

​ 动物园里有两只老虎,两只老虎的体重分别为通过键盘录入获得,

​ 请用程序实现判断两只老虎的体重是否相同。

代码示例:

package com.itheima.test;

import java.util.Scanner;

public class Test4 {
    public static void main(String[] args) {
        //分析:
        //1.键盘录入两只老虎的体重
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一只老虎的体重");
        int weight1 = sc.nextInt();
        System.out.println("请输入第二只老虎的体重");
        int weight2 = sc.nextInt();
        //2.比较
        //System.out.println(weight1 == weight2); 这种写法打印出来的要么是true,要么是false。但是现在我们想打印出相同 / 不同

        String result = weight1 == weight2 ? "相同" : "不同";
        System.out.println(result);
    }
}


四、练习2-求三个数的最大值

需求:

​ 一座寺庙里住着三个和尚,已知他们的身高分别为150cm、210cm、165cm。

​ 请用程序实现获取这三个和尚的最高身高。

代码示例:

package com.itheima.test;

public class Test5 {
    public static void main(String[] args) {
        //1.定义三个变量记录三个和尚的身高
        int height1 = 150;
        int height2 = 210;
        int height3 = 165;
        //2.拿着第一个和尚和第二个和尚进行比较
        //再拿着结果跟第三个和尚进行比较即可
        int temp = height1 > height2 ? height1 : height2;
        int max = temp > height3 ? temp : height3;
        //快捷键:ctrl + alt + L 自动的格式化代码
        System.out.println(max);
    }
}

五、运算符的优先级

在Java中涉及了很多的运算符,每一种运算符都有各自的优先级。但是这些优先级不需要记忆。

咱们只要知道其中一点:小括号优先于所有。

image-20240330173054838

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值