(个人临时总结,知识点不完全,仅供参考,不喜轻喷)
条件运算符(?:)需要三个操作数,所以也称三元运算符
操作式如下:
【条件】? 【表达式1】:【表达式2】
根据条件的计算结果,决定要计算两个表达式中的哪一个
如果条件为true(即计算结果不为0),计算表达式1;条件为false,计算表达式2。所得出的值就是整个表达式的结果。
举一个在赋值运算中的常见例子:假设给一个数组赋值,下标为偶数的赋值true,下标为奇数的赋值false
如果用if-else语句:
for (int i = 0; i <= 49; i++)
{
if (i % 2 == 0) { vector[i] = true;}
else { vector[i] == false; }
}
用(?:)运算符:
for (int i = 0; i <= 49; i++)
{
values[i]=(i%2==0)?true : false;
}
可以看到,使用运算符后代码精炼不少。
对于这类“二选一”的问题,用上三元运算符可以有效减少代码量,同时也让代码更加美观精炼。
在所有运算符中,只有赋值和逗号运算符的优先级比三元运算符低
所以这样的语句,前方的"i>0"条件不用加括号
judge = i>0 ? true : false;
版权归原作者 Chen_Xi_Gao_Gao 所有, 如有侵权,请联系我们删除。