Java中三目运算符和if求三个数的最大值

Java中三目运算符和if求三个数的最大值

三目运算符

普通版

import java.util.Scanner;
public class Demo1 {
    public static void main(String[] args) {
        int a;
        int b;
        int c;
        Scanner sc= new Scanner(System.in);
        //创建对象
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        //从键盘输入数据
        int tmp = a > b ? a : b;
        int result = tmp > c ? tmp : c;
        System.out.println("三个数中最大的是  " + result);
        sc.close();
    }
}

嵌套版

import java.util.Scanner;
public class Demo1 {
    public static void main(String[] args) {
        int a;
        int b;
        int c;
        Scanner sc= new Scanner(System.in);
        //创建对象
        a = sc.nextInt();
        b = sc.nextInt();
        c = sc.nextInt();
        //从键盘输入数据
        int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
        System.out.println("三个数中最大的是  " + max);
        sc.close();
    }
}

if语句

import java.util.Scanner;

public class Demo3 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        if (a > b & a > c) {
            System.out.println("最大值为" + a);//a大于b和c,a最大
        } else if (b > a & b > c) {
            System.out.println("最大值为" + b);//b大于a和c,b最大
        } else {
            System.out.println("最大值为" + c);//c最大
        }
        sc.close();
    }
}

差异:大多数场景可以互相替代,但是如果if选择结构执行的是一个操作,没有返回值,此时不可以被三目运算符所替代。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值