
条件运算符,是一个程序开发的术语,优先级高于赋值、逗号运来自算符,低于其他运算符。适用于程序开发。
- 中文名称 条件运算符
- 外文名称 min = (a < b) ? a : b
- 性质 运算符
- 属性 条件
- 程序示例 ChooseDemo05.java
C语言
运算符
表达式为:表达式1?表达式2:表达式3
先求解表达式1,
若其值为真(非0)则将表达式2的值作为整个表达式的取值,
否则(表达式1的值龙蜜察为0)将表达式3的值作为整个表达式的取值款呀哥官。
例如:
1、max=吸脚(a>b)?a:b
就是将a和b二者中较大的一个赋给max。
2、霸您凳min=(a<b)?a:b
就是将a和b二者中来自较小的一个赋给min。
优先级
条件运算符优先级高于赋值、逗号运算符,低于其他运算360百科符蒸纸
例如:
⑴ m<n ? x : a+3
等价于:(m<n) ?(李写极胶围x) :(a+3)
⑵ a++>=10 && b-->20 ? a : b
等价于:(a++>=10 && b-->20) ? a : b
⑶ x=3+a>5 ? 100 : 200
等价于坚胡势著:x= (( 3+a>5 ) ? 100 : 200 )
味领文海紧结合性
条件运算符上用困印介具有右结合性
当一个表达式中出现多个条件运算符时,应该将位我防先九言烟但汉许读庆于最右边的问号与离它最晚干染存思乡近的冒号配对,并陆动类步及界武倍顾结按这一原则正确区分各条件运算符的运算对象。如果在问号和冒号之间还有一个问号或者冒号,应该满足就近配对,使结构不发生紊乱。
例如:
w < x ? 径煤双口波死乐x + w : x < y ?
与 w < x ? x + w : 天当眼至( x < y ? x : y特宜没) 等价
与 (w < x ? x + w : x < y) ? x : y 不等价
a > b ? c > d ? e : f : g
与a > b ? (c > d ? e : f) : g等价
JAVA语工鸡爱错终父且按言
形式
关系表达式 ? 表达式1 : 表达式2
求值规则
求解关系表达式,根据导田爱供祖却千受关系表达式的布尔值决定取值:关系表达式的值为true时取表达式1的值;关系表达式的值为false时取表达式四印轮行2的值。
说明
1、条件图都担运算符的优先级低于关系运算符和派沿高立达样了讨设犯算术运算符,高于赋值运算符。
2、JAVA中条件运算表达式中的关系表达式值的类型必须为布尔类型,只能是true或f略茶由永固住alse。
3、结合性也是右结合性。
4、与C语言不同的是,JAVA中条件表达式的值必须参与运算。
以上程序中,1处错误是由于条件表达式的值没有参与运算,盼乃端不能构成语句。3处(b < c ? a : c)先结胶妹捆设合,雅提舟谅再将这个值参与到另一个条件运算中去,是合法的,这也说明了条件运算符的右结合性。
运算符妙用
--用条件表达式判断输出单词的单复数。
程序示例:ChooseDemo05.java
程序中会自动根据apples的个数来输出单词的单数或复数。
当然,还有其他的应用:
1、 在某些地方使用"他"还是"她"立浆危。
2、日期输出时决定使用后缀"st"、"nd"等。