三元运算符是什么

作者&投稿:禄园 (若有异议请与网页底部的电邮联系)
三元运算符~

-1就是负1啊 就是一个数字啊

意思是 如果能获得id的值就将id赋值给nid,如果获取不了。则令nid=-1

应该是C#里的三元运算符,不过MSDN把它叫做条件运算符。其规则跟其它语言基本一样。

条件运算符 (?:) 根据布尔型表达式的值返回两个值中的一个。条件运算符的格式如下

复制代码
condition ? first_expression : second_expression;


备注
如果条件为 true,则计算第一表达式并以它的计算结果为准;如果为 false,则计算第二表达式并以它的计算结果为准。只计算两个表达式中的一个。

使用条件运算符,可以更简洁、雅观地表达那些否则可能要求 if-else 结构的计算。例如,为在 sin 函数的计算中避免被零除,可编写为

复制代码
if(x != 0.0) s = Math.Sin(x)/x; else s = 1.0;


或使用条件运算符,

复制代码
s = x != 0.0 ? Math.Sin(x)/x : 1.0;


条件运算符为右联运算符,因此该形式的表达式

复制代码
a ? b : c ? d : e


按如下规则计算:

复制代码
a ? b : (c ? d : e)


而不是按照下面这样计算:

复制代码
(a ? b : c) ? d : e


不能重载条件运算符。

示例
复制代码
// cs_operator_conditional.cs
using System;
class MainClass
{
static double sinc(double x)
{
return x != 0.0 ? Math.Sin(x)/x : 1.0;
}

static void Main()
{
Console.WriteLine(sinc(0.2));
Console.WriteLine(sinc(0.1));
Console.WriteLine(sinc(0.0));
}
}


输出
复制代码
0.993346653975306
0.998334166468282
1

三元运算符是软件编程中的一个固定格式,语法是“条件表达式?表达式1:表达式2”。使用这个算法可以使调用数据时逐级筛选。

表达式:“()? :”。

如名字表示的三元运算符需要三个操作数。

语法为:条件表达式?表达式1:表达式2。

说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。

其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。

扩展资料:

1、?: 运算符可以用作 if...else 语句的快捷方式。它通常用作较大表达式(使用 if...else 语句会很繁琐)的一部分。例如:

var now = new Date();var greeting = "Good" + ((now.getHours() > 18) ? " evening." : " day.");

在此例中,如果晚于下午 6 时,则创建一个包含 "Good evening." 的字符串。使用 if...else 语句的等效代码如下:

var now = new Date();

var greeting = "Good";

if (now.getHours() > 18){

greeting += " evening.";

}

else{

greeting += " day.";

}

2、在Python语言中,也有三元运算符。不过Python的三元运算符和java以及C#有所区别,语法格式为:

表达式1 if 条件表达式 else 表达式2

当表达式返回True时,返回结果表达式1,否则返回结果表达式2。示例:

c = a if a < b else b

参考资料:百度百科-三元运算符



三目运算符,又称条件运算符,是计算机语言(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 ? '流转额度:':'信用额度:')))}


希望对您有所帮助!~



需要三个操作数的运算符,C语言中,条件操作符是唯一的三目运算符:

EXP1?EXP2:EXP3

含义是:当EXP1为真时执行EXP2,否则执行EXP3

#include <stdio.h>
int
main()
{
int a = 1, b = 2, c;
if(a < b)
c = a;
else
c = b;
c = a < b ? a : b;//~ 三元运算符,和上面的if/else产生同样的效果
return 0;
}

C语言中只有一个三元运算符
表达式1?表达式2:表达式3
如果表达式1成立,则这个式子的值为表达式2的值,否则为表达式3的值


什么是C++二元运算符
一元运算符只需一个参数,比如逻辑非运算。”非A“中的A是一个参数,“非”只作用在A上,”非“就是一个一元运算符。二元运算符需要两个参数,比如+,-,*,\/。”a+b“中的a和b是+的两个参数,+号作用的参数有两个,所以是二元运算符。三元运算符需要三个参数,比如“?:”。“(a>b)...

二元运算和一元运算是什么意思?
二元运算:属于数学运算的一种。二元运算需要三个元素:二元运算符以及该运算符作用的两个变量。如四则运算的加、减、乘、除均属于二元运算。一元运算:属于数学运算的一种。乘方、开方是从一个已知数得出另一个数的运算,称为一元运算。运算,数学上,运算是一种行为,通过已知量的可能的组合,获得新...

单链表插入元素的运算符是什么?
在一个单链表head中,若要在指针p所指结点后插入一个q指针所指结点,则执行q->next=>next;p->next=q;单链表中的数据是以结点来表示的,每个结点的构成:元素(数据元素的映象) +指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。

java的八个基本数据类型?
Java运算符可以分为四类:算术运算符、关系运算符、逻辑运算符和位运算符。1.算术运算符Java算术运算符分为一元运算符和二元运算符。一元运算符只有一个操作数;二元运算符有两个操作数,运算符位扮尺于两个操作数之间。算术运算符的操作备孝数必须是...java有八种基本数据类型:整数字节1字节短2字节...

命令提示符有哪些作用?
①在set \/a中的二元运算符。例如set \/a a+=b表示将a加上b的结果赋值给a。 -= ①在set \/a中的二元运算符。例如set \/a a-=b表示将a减去b的结果赋值给a。 *= ①在set \/a中的二元运算符。例如set \/a a*=b表示将a乘以b的结果赋值给a。 \/= ①在set \/a中的二元运算符。例如set \/a a\/=b表示...

思维导图对学习有什么作用?
思维导图的运用可以帮助提高学习效率,提高记忆,接下来就为大家讲解一下这份由iMindMap制作的C语言表达式思维导图。C语言表达式一共有五块内容。一、算术运算符 顾名思义,算术运算符就是我们在进行算式计算时使用到的运算符。图片1:算术运算符 在C语言中,根据参与运算的操作数个数分为一元运算符和...

亚里士多德的三段论具体到底指什么?能不能举一个例子说明。
我们用 “逻辑代数” 中的运算符就能准确地用数学式子将亚里士多德三段论表达出来.((A ⊂ B) & (B ⊂ C)) → (A ⊂ C) 这里运算符 “⊂” 是逻辑代数中复合运算符, 可以解释成 “是”. 显然这是亚里士多德三段论的准确数学表达式. 这个表达式将在本文中给予证明. 2概念代数和逻辑代数 概念代数...

既可重载为一元运算符也可为二元的是运算符是…
+ - × \/ 都是。 一元的时候有一个参数采用的是结果本身。 比如 object= object1 + object2 这是二元, object+=object1 是一元。 一元其实也是两个参数,只不过一个需要用 this调用。

在C语言中,要求运算数必须是整型或字符型的运算符是()。
选择D。是求余运算符,也叫模除运算符,用于求余数。%要求两个操作数均为整数(或可以隐式转换成整数的类型)。标准规定:1、如果%左边的操作数为负数时,则模除的结果为负数或者0,2、如果%左边的操作数为正数时,则模除的结构为正数或者0。

请教关于javascript多元运算符的问题
1。当p>1时返回pb:p=6 1。1当pb 1。2当p>=b时返回p=6 2。当p<=1是返回p=3 所以先执行1 当p=9的时候,返回pb:p=6 接着执行1。1 当p=9<12时,返回p>b,即9>12,条件不成立 所以最终结果为false

江阴市15067259354: 三元运算符 - 搜狗百科
巧怀盐酸: #include <stdio.h> int main() { int a = 1, b = 2, c; if(a < b) c = a; else c = b; c = a < b ? a : b;//~ 三元运算符,和上面的if/else产生同样的效果 return 0; }

江阴市15067259354: 什么叫三元运算符 -
巧怀盐酸: ?:= 需要三个量,如:max>a? max:a ;

江阴市15067259354: 三元运算符的语法格式(三元运算符)
巧怀盐酸: 1、不需要. 运算(赋值)时会自动转换 下面都是正确的: printf("%f",(3>2? 2:0) ); printf("%f",(3

江阴市15067259354: java中,什么是一元二元三元运算符? -
巧怀盐酸: 一元:++,--,! 即:++a,a++,!a 二元:A+B,A-B等等 三元:唯一的,?: A = (A>B)?A:B意思是:如果A>B,A取值为A,否则为B

江阴市15067259354: 什么是一元,二元,三元运算符,它们在使用时应该注意些什么 -
巧怀盐酸: 一元运算符是只需要一个操作数的运算符,例如++x, p--,二元运算符是需要两个操作数的运算符,例如a+b, p-q, x>>5 三元运算符是需要三个操作数的运算符,例如 a?b:c

江阴市15067259354: 在JAVA中怎样区分一元运算符,二元运算符,三元运算符? -
巧怀盐酸: 运算符是一元、二元还是三元,要看它要求有几个数参加运算,比如"++"运算符,只需要一个数据单元参加运算,如++a,它就是一元运算符;而"+"、"-"等运算符,如a+b,要求有两个数据单元参加运算,它就是二元运算符;"?:"运算符要求三个运算单元,如(ab)?c:d,它就是三元运算符.

江阴市15067259354: 谁能给我讲讲C语言中的三元运算符是怎么回事? -
巧怀盐酸: 在C里面只有一个三元运算符,型如a>b ?a:b 里面有两个符号,先是问号,再一个冒号, 意思是,先判断a>b,如果为真(值为1),则反回a,如果为假(值为0),既a<b,反回b. 依你题目, char sex=getch(); while(sex=='0' || sex=='1') { printf ("you are %s\n", (xb == '1')? "boy":"girl"); }

江阴市15067259354: C#中的三元运算符是() A.== B.:C.= D. -
巧怀盐酸:[答案] 选B 三目运算符?:; ,属于关系运算符, 常用于关系比较,主要用于比较关系的状态只有两种的情况(大于 和 不大于,真 和 假) 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ...

江阴市15067259354: JAVA 的 什么是 一元 二元 三元运算符 -
巧怀盐酸: 元就是指操作数的意思 如!- ^ 这些只有一个操作数,这一类为一元 同样 + - * / % 等等有2个操作的数运算符当然是二元了.三元只有一个 ? :

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网