服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - 浅谈Java三目运算

浅谈Java三目运算

2019-12-13 10:55hebedich JAVA教程

本文给大家主要介绍的是java中三目运算的详细介绍,并附上2个示例,希望对大家理解三目运算能够有所帮助。

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

例:String s="";

String x="默认值";

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

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

再来一个复杂点的

  1. class Dates { 
  2.  int year,month,day; 
  3.  Dates(int x,int y,int z){ 
  4.  year=x; 
  5.  month=y; 
  6.  day=z; 
  7.  } 
  8.  public static int compare(Dates a){ 
  9.  return year>a.year?1 
  10.    :year<a.year?-1 
  11.    :month>a.month?1 
  12.    :month<a.month?-1 
  13.    :day>a.day?1 
  14.    :day<a.day?-1:0; 
  15.  } 

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锁之自旋锁详解

    Java锁之自旋锁详解

    这篇文章主要介绍了Java锁之自旋锁详解,本文是系列文章的第一篇,请持续关注脚本之家java栏目,需要的朋友可以参考下 ...

    junjie2642019-11-28
  • JAVA教程Java设计模式之解释器模式(Interpreter模式)介绍

    Java设计模式之解释器模式(Interpreter模式)介绍

    这篇文章主要介绍了Java设计模式之解释器模式(Interpreter模式)介绍,Interpreter定义:定义语言的文法,并且建立一个解释器来解释该语言中的句子,需要的朋...

    junjie3182019-12-11
  • JAVA教程java中DES加密解密

    java中DES加密解密

    本文给大家分享的是一段java中实现des加密解密的代码,非常的实用,基本每个项目都可以用到,推荐给大家。 ...

    hebedich3142019-12-12
  • JAVA教程java计算百分比值的方法

    java计算百分比值的方法

    这篇文章主要介绍了java计算百分比值的方法,涉及java数值运算的技巧,需要的朋友可以参考下 ...

    damaolly3372019-12-12
  • JAVA教程JAVA8 十大新特性详解

    JAVA8 十大新特性详解

    本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新...

    网络4842019-06-17
  • JAVA教程java实现上传图片进行切割的方法

    java实现上传图片进行切割的方法

    这篇文章主要介绍了java实现上传图片进行切割的方法,以完整实例形式分析了Java针对上传图片进行切割的技巧,非常具有实用价值,需要的朋友可以参考下 ...

    Benjamin_whx3932019-12-09
  • JAVA教程java生成图片验证码示例程序

    java生成图片验证码示例程序

    这篇文章主要介绍了java生成图片验证码示例程序,大家参考使用吧 ...

    java教程网1452019-10-22
  • JAVA教程java代理模式与动态代理模式详解

    java代理模式与动态代理模式详解

    代理就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户...

    java技术网1402019-11-06