条件运算符?的运算过程是什么 条件运算符( 三 )


条件表达式的优先级高于赋值运算,但低于所有关系运算、逻辑运算和算术运算 。其结合性是自右向左结合,当多个条件表达式嵌套使用时,每个后续的":"总与前面最近的、没有配对的"?"相联系 。例如在条件表达式"a0
?
a/b:a0
?
a+b:a-b"中,出现两个条件表达式的嵌套,求解这个表达式时先计算后面一个条件表达式"a0
?
a+b:a-b"的值,然后再与前面的"a0
?
a/b:"组合 。
使用条件表达式可以使程序简洁明了 。例如,赋值语句"z=(ab)?a:b
"中使用了条件表达式,很简洁地表示了判断变量a与b的最大值并赋给变量z的功能 。所以,使用条件表达式可以简化程序
例3-8:定义高等数学中常用的符号函数sign的数学定义如下 。
.
对应的C函数定义如下:
/*
L3_8.C
*/
double
sign(double
x)
{
return
x0
?
1:(x==0
?
0:-1);
}
条件运算符是什么?条件运算符,是一个程序开发的术语,优先级高于赋值、逗号运算符,低于其他运算符,适用于程序开发 。
例如:条件语句:如果(ab)Max=a;elseMax=b;条件表达式可以写成:Max=(ab)?A:b,执行此语句的语义是:如果ab为真,则将源a赋给Max,否则将b赋给Max 。
注意事项
1、条件运算符的优先级低于关系运算符和算术运算符,高于赋值运算符 。
2、JAVA中条件运算表达式中的关系表达式值的类型必须为布尔类型,只能是true或false 。
3、结合性也是右结合性 。
4、与C语言不同的是,JAVA中条件表达式的值必须参与运算 。

秒懂生活扩展阅读