2.4.6-运算符之六:三元运算符

运算符之六:三元运算符

1.结构:(条件表达式)? 表达式1 : 表达式2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3SEZuHsS-1616400686602)(E:\project\mp\java\day1-5\pic\2.4.6-image-20210311163520230.png)]

  1. 说明
    ① 条件表达式的结果为boolean类型
    ② 根据条件表达式真或假,决定执行表达式1,还是表达式2.
    如果表达式为true,则执行表达式1。
    如果表达式为false,则执行表达式2。
    ③ 表达式1 和表达式2要求是一致的。
    ④ 三元运算符可以嵌套使用

  2. 凡是可以使用三元运算符的地方,都可以改写为if-else
    反之,不成立。

  3. 如果程序既可以使用三元运算符,又可以使用if-else结构,那么优先选择三元运算符。原因:简洁、执行效率高。

class SanYuanTest {
public static void main(String[] args) {
	

	//获取两个整数的较大值
	int m = 12;
	int n = 5;
	
	int max = (m > n)? m : n;
	System.out.println(max);
	
	double num = (m > n)? 2 : 1.0;
	
	//(m > n)? 2 : "n大";//编译错误
	
	//**************************
	n = 12;
	String maxStr = (m > n)? "m大" : ((m == n)? "m和n相等" : "n大");
	System.out.println(maxStr);
	
	//*****************************
	//获取三个数的最大值
	int n1 = 12;
	int n2 = 30;
	int n3 = -43;
	
	int max1 = (n1 > n2)? n1 : n2;
	int max2 = (max1 > n3)? max1 : n3;
	System.out.println("三个数中的最大值为:" + max2);
	
	//不建议
	//int max3 = (((n1 > n2)? n1 : n2) > n3)? ((n1 > n2)? n1 : n2) : n3;
	System.out.println("三个数中的最大值为:" + max3);
	
	//该写成if-else:
	if(m > n){
		System.out.println(m);
	}else{
		System.out.println(n);
	}

}
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A4KhpEdA-1616400686605)(E:\project\mp\java\day1-5\pic\2.4.6-image-20210311163756550.png)]

}
}


[外链图片转存中...(img-A4KhpEdA-1616400686605)]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值