手机
当前位置:查字典教程网 >编程开发 >Java >浅谈Java三目运算
浅谈Java三目运算
摘要:三目条件运算公式为x?y:z其中x的运算结果为boolean类型,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否...

三目条件运算公式为 x?y:z 其中x的运算结果为boolean类型,先计算x的值,若为true,则整个三目运算的结果为表达式y的值,否则整个运算结果为表达式z的值

例:String s="";

String x="默认值";

s=s.isEmpty()?x:s;

这段代码的意思是:先判断s是否为空(结果是空),然后执行s=x,即执行x

再来一个复杂点的

class Dates { int year,month,day; Dates(int x,int y,int z){ year=x; month=y; day=z; } public static int compare(Dates a){ return year>a.year?1 :year<a.year?-1 :month>a.month?1 :month<a.month?-1 :day>a.day?1 :day<a.day?-1:0; }

1、三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值

2、例子:int i = (5 > 3) ? (5 + 3) : (5 - 3);结果为i = 8.因为5 > 3为true,所以i = 5 + 3.

3、根据三目运算符的从右到左的结合性,我是这样划分的

year > a.year ? 1 : (year < a.year ? -1 : (month > a.month ? 1 : (month < a.month ? -1 : (day > a.day ? 1 : (day < a.day ? -1 : 0)))));

所以应该从最右边的那个表达式开始计算,结果应该是1、0、-1中的一个值。

以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。

请您花一点时间将文章分享给您的朋友或者留下评论。我们将会由衷感谢您的支持!

【浅谈Java三目运算】相关文章:

谈谈 Java 中 this 的使用方法

Java中的位运算符、移位运算详细介绍

深入解析java中的locale

深入解析java中的静态代理与动态代理

浅谈java中静态方法的重写问题详解

java代码之谜运算符篇

java中的移位运算符心得总结

java中的快捷键小结

浅谈java中的访问修饰符

封装了一个Java数据库访问管理类

精品推荐
分类导航