第三章 7.三元运算符

三元运算符
基本语法:
条件表达式?表达式1:表达式2;
运算规则:
1)如果条件表达式为true,运算后的结果是表达式1;
2)如果条件表达式为false,运算后的结果是表达式2;
package cn.javageiyegun.demo03;

public class TernaryOperator {
    public static void main(String[] args) {
        int a = 10;
        int b = 99;
        //解读
        //1.a > b 为 false
        //2.返回 b--,先返回 b的值,然后在 b-1;
        //3.返回的结果是99;
        int result = a > b ? a++ : b--; //99
        System.out.println("result = " + result);
        int c = 10;
        int d = 99;
        int result1 =  c > d ? c++ : --d; //98
        System.out.println("result1 = " + result1);

        int e = 10;
        int f = 99;
        int result2 = e < f ? e++ : f--;
        System.out.println("result2 = " + result2 ); //10
        System.out.println("e = " + e);  //11
        System.out.println("f = " + f);  //99
    }
}
细节:
1)表达式1和表达式2 要为可以赋给接受变量的类型(或可以自动转换/强制转换)
2)三元运算符可以转成if--else语句
int res = a > b? a++ : --b;
if(a > b){
   res = a++;
 }else{
   res = --b;
 }
package cn.javageiyegun.demo03;

public class TernaryOperatorDetail {
    public static void main(String[] args) {
        //1)表达式1和表达式2 要为可以赋给接受变量的类型(或可以自动转换/强制转换)
        int a = 3;
        int b = 8;
        int c = a > b ? (int)1.1 : (int)3.4;  //可以的,强制类型转换
        double d = a > b ? a : b + 3;  //可以的,自动类型转换
        //int f = a > b ? 1.1 : 2.2;  //报错,double 8个字节的物体放不进 int 4个字节的空间里面
    }
}

练习

package cn.javageiyegun.demo03;

public class TernaryOperatorExercise {
    public static void main(String[] args) {
        //案例:求三个数的最大值
        int a = 55;
        int b = 33;
        int c = 123;
        //思路分析
        //1.先得到a 和 b 中的最大数 , 保存到max1;
        //2.然后再求出 max1 和 c中的最大数,保存到max2;
        int max1 = a > b ? a : b;
        int max2 = max1 > c ? max1 : c;
        System.out.println("最大数 = " + max2);

        //一条语句
        int max3 = (a > b ? a : b) > c ? (a > b ? a : b) : c;
        System.out.println("最大数 = " + max3);
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
三元运算符可以用来比较三个数的大小。它的语法是通过一个条件来选择返回结果1还是结果2。 一个简化的解决思路是首先比较前两个数,选出较大的数,然后将选出的较大数与第三个数进行比较,选出最大的数。接着求出三个数的和,减去最大值和最小值,就可以得到中间值。最后对这三个数进行排序。 在代码中,可以使用三元运算符来进行比较和选择最大、最小、中间值。例如,可以使用三元运算符来比较x和y,选出较大的数,然后再与z进行比较,选出最大的数。同样,可以使用三元运算符来比较x和y,选出较小的数,然后再与z进行比较,选出最小的数。最后,可以使用三元运算符来计算中间值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [javascript三元运算符用法实例](https://download.csdn.net/download/weixin_38695293/14814799)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [三元运算符完成三个数的大小顺序排列](https://blog.csdn.net/m0_56707531/article/details/127798326)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [三元运算符比较三个数大小并排序](https://blog.csdn.net/weixin_44889894/article/details/110470519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值