java三目运算符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java三目运算符相关的知识,希望对你有一定的参考价值。

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;
请问后面的那个三目运算符是怎么计算的啊

参考技术A 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中的一个值。

以上纯属个人理解。没搞清楚你这个算法到底是什么意义。。。。还有你的compare()方法不能声明为静态。本回答被提问者采纳

java多重三元运算符(三目运算符)嵌套

String che = "生产用车";
Integer Isjwct = 0;
String mk = che.equals("生产用车") ? (Isjwct.equals(0) ? "m2" : "m3") : null;
System.out.println(mk);

以上是关于java三目运算符的主要内容,如果未能解决你的问题,请参考以下文章

java三目运算符

java三目运算符

java 三目运算符

java三目运算符

java三目运算符

java啥叫“三目条件运算符”?