java 里面的"?" 是什么运算符号?
展开全部
?是一个三元运算符,运算的过程如下:
?前边是一个表达式,该表达式计算后的值应该是一个boolean型的值。也就是会返回一个true或者false
而?后边有两个表达式,被:分开,首先会计算?之前表达式的值,看看是返回true还是false,如果返回值为true,那么就取紧跟在?后边表达式的值,否则的话取:后边表达式的值。
拿你这个题来说:
首先要计算(++x1
!=
x2
++
),x1的初始值为9,++x1后x1的值为10,!=是一个逻辑运算符,返回一个boolean值,x2++,x2本身的值为6,执行++后也不可能等于10的,所以(++x1
!=
x2
++
)的值为false
也就是要取:号后边的表达式的值。再来看那个表达式(x1-x2),结果很明显。最后的值应该是3。选D
?前边是一个表达式,该表达式计算后的值应该是一个boolean型的值。也就是会返回一个true或者false
而?后边有两个表达式,被:分开,首先会计算?之前表达式的值,看看是返回true还是false,如果返回值为true,那么就取紧跟在?后边表达式的值,否则的话取:后边表达式的值。
拿你这个题来说:
首先要计算(++x1
!=
x2
++
),x1的初始值为9,++x1后x1的值为10,!=是一个逻辑运算符,返回一个boolean值,x2++,x2本身的值为6,执行++后也不可能等于10的,所以(++x1
!=
x2
++
)的值为false
也就是要取:号后边的表达式的值。再来看那个表达式(x1-x2),结果很明显。最后的值应该是3。选D
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询