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

Posted

tags:

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

如题,请举个例子。谢谢

三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分。它是唯一有3个操作数的运算符,所以有时又称为三元运算符。一般来说,三目运算符的结合性是右结合的。
定义:
对于条件表达式b ? x : y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式绝不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a ? b : c ? d : e将按a ? b : (c ? d : e)执行。加括号()是为了方便阅读,不加也是一样的。
可以理解为"(a<b)?a:b"是一个"条件表达式",它是这样执行的: 如果a<b为真,则表达式取a值,否则取b值.条件运算符由两个符号组成"?“和”:", 要求有3个操作对象,所以也叫它三目运算符,
(1)它的一般形式为:<表达式1> ? <表达式2> : <表达式3>; "?"运算符的含义是:先求表达式1的值,如果为真,则执行表达式2,并返回表达式2的结果;如果表达式1的值为假,则执行表达式3,并返回表达式3的结果。
(2)通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式.
(3)在程序中,通过把条件表达式的值直接赋予某个变量.
A=(b>c)?d:e1

(4)条件表达式的优先级别仅高于赋值运算符,而低于前面遇到过的所有运算符.
因此,min=(a<b)?a:b括号可以不要,可直接写成,min=a<b?a:b如果有x<y?x+1:y-1等效于x<y(x+1):(y-1)而不等效于(x<y?x+1:y)-1
(5) 条件运算符的结合方向为"自右至左".
(6) 条件表达式允许嵌套,即允许条件表达式中的表达式2和表达式3又是一个条件表达式.例如:下面的例子

EL表达式中使用三目运算符:
单个判断:
$postNum == null ? 0 : postNum
Servlet:
PwPersonalDetails personalDetails=pwPersonalDetailsService.
findById(borrowerId);//查询个人信息
request.setAttribute("personalDetails", personalDetails);//传参
jsp:

<div>
<p>有无购车:</p>
<p id="PurchaseCar">
$personalDetails.purchaseCar eq true ? "有购车":"无购车"
</p>
</div>1234567891011121314

EL表达式结合三目运算符多个判断条件写法:
比如:我后台查询出来的borrowMoney(表单)数据有bidTypeId(标种类型)分别为1-7七种:我要传递到前端html给一个p标签根据bidTypeId不同给予不同的名称:
现在直接将多个三目运算符拼成多个条件的写法:
$borrowMoney.bidTypeId eq 1 ? '信用额度:':(borrowMoney.bidTypeId eq 2 ? '抵押额度:':(borrowMoney.bidTypeId eq 5 ?'担保额度:':(borrowMoney.bidTypeId eq 7 ? '流转额度:':'信用额度:')))

希望对您有所帮助!~
参考技术A 条件(三目)运算符 (?:)
根据条件执行两个语句中的其中一个。
test ? 语句1 : 语句2
int a=19;
int b=29;
int c=a > b ? a : b;//相当于if(a > b) c=a;elsec=b;
System.out.println("最大值为"+c );
参考技术B int a = 1;
int b= 2;
int c= a < b ? a : b;//意思就是如果a<b成立就返回a 否则返回b
System.out.print(c);
结果为1
参考技术C 例如 x? y:z
x是一个boolean类型,若x为true,结果显示y,若x为false,则结果显示z
参考技术D 如果字符串str为null则取空值,否则取自身值!!
String str == null ? "" str;

条件(三目)运算符 (?:)

根据条件执行两个语句中的其中一个。

test ? 语句1 : 语句2

参数

test
任何 Boolean 表达式。

语句1
当 test 是 true 时执行的语句。可以是复合语句。

语句2
当 test 是 false 时执行的语句。可以是复合语句。

啥叫三元运算(三目运算)

三元运算:

如例:if 1==1:

           name=“alex”

        else:

           name="nb"

                #如果1=1成立name就等于alex,如果不成立就等于else后面的值也就是“nb”

就可以写成:     name=“alex”  if  1=1 else  “nb”   #其实三元运算就是对if  else  的简写。

 

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

java基础知识-----运算符表达式和分支结构

JavaScript到精髓JavaScript 逻辑运算符

[c++]第四章概念题 | 运算符重载

啥叫三元运算(三目运算)

在java 中,啥叫父类,啥叫子类

怎样用通俗的语言解释啥叫 REST,以及啥是 RESTful