JAVA 基本语法 运算符_三元运算符(小白基础)

28 篇文章 0 订阅
25 篇文章 0 订阅

运算符是一种特殊的符号 用以表示数据的运算 赋值和比较等

JAVA 层面的
  1. 算术运算符
  2. 赋值运算符
  3. 比较运算符
  4. 逻辑运算符
  5. 位运算符
  6. 三元运算符

注意 常见的运算符 要会使用 用多了就记住了 一个字 敲

三元运算符

格式:(条件表达式)?表达式1:表达式2;
条件表达式 为false 运算后的结果是 表达式2
条件表达式 为true运算后结果是 表达式1
结果必须是boolean类型
表达式1和表达式2 为同种类型

说明:

/*
	运算符之六:三元运算符  三目运算
	结构:(条件表达式)?表达式1:表达式2

	说明:
	表达式结果是boolean类型
	根据表达式真或假 决定执行表达式,还是表达式2
	如果是true 则执行表达式1
	如果是false 则执行表达式2

*/

下面用代码进行演示:
求两个变量的最大值 使用三元运算符代码如下:

//获取两个整数的较大值
		int m = 20;
		int n = 35;
		int max = (m>n)?m:n; 
		System.out.println(max);

命令行编译执行
在这里插入图片描述
i运算符的结果 nt max 的数据类型 由表达式1和表达式2 进行决定

三元运算符的嵌套

下面讲下嵌套的使用
对 m 和 n 的值 求最大值 如果结果两个变量的数值一样大怎么办?
这就需要嵌套了
先设想 如果m>n 表达式1 为“m大”,后面的表达式2 就不是写“n大”了 而是写在进行一个判断 (m==n) 然后在写表达式1 和表达式2 这是在 n大的基础内进行迭代 有两种情况一种是n大 另一种就是 两个变量相等 一边大
代码如下:

		int m = 50;
		int n = 50;
		String maxStr2 = (m>n)?"m大":((m==2))?"相等":"n大";
		System.out.println("结果是"+maxStr2);

运行结果是:
在这里插入图片描述
下面进行三个变量进行求最大值:

		int n1 = 12;
		int n2 = 50;
		int n3 = -45;
		int max1 = (n1>n2)?n1:n2;//先求出2 个值中的最大值
		int max2 = (max1>n3)?max1:n3;//用刚才其中两个值的最大值 和第三个值进行比较得出 最大值
		System.out.println("三个数的最大值是:"+max2);

		

运行结果是:
在这里插入图片描述
三元运算符的嵌套:

		int n1 = 12;
		int n2 = 50;
		int n3 = -45;
		//思路 如果n1 大于n2 用n1 和n3进行比较

		int maxInt = (((n1>n2)?n1:n2)>n3)?((n1>n2)?n1:n2):n3;
		System.out.println("最大值:"+maxInt);

注意
这样嵌套写着很麻烦 也很容易进行出错 不建议这么写嵌套 自己都看着看着就蒙圈了

凡是可以使用三元运算符的程序 都可以使用 if…else 结构
反之 不成立 原因 三元运算符是简单的运算符 表达式单一
if…else 结构 可以很复杂 是一个流程控制语句

		int n1 = 12;
		int n2 = 50;
		int n3 = -45;
		if (m>n)
		{
			System.out.println("m大");
		}else{
			System.out.println("n大");
			}

结论:
如果程序既可以使用三元运算符,又可以使用 if…else 结构 那么优先使用三元运算符 原因:简洁 执行效率高

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值