val = val == 0?0:1;意思?

时间:2018-04-15 17:33:05

标签: java

通常情况下,我通常会看到++i;val = val == 0 ? 0 : 1; 。但是,这是我第一次看到这样的事情:

{{1}}

这是什么意思?

4 个答案:

答案 0 :(得分:3)

代码val = val==0?0:1;是此代码的缩写:

if (val==0)
{
    val = 0;
}
else
{
    val = 1;
}

a?b:c的语法是:

<condition> ? <result if true> : <result if false>

答案 1 :(得分:2)

这意味着if val == 0 then set val to 0 else set val to 1

答案 2 :(得分:2)

它正在使用三元条件运算符,它看起来像

condition ? [value if true] : [value if false]

在这种情况下,如果是val == 0,则将val设置为0;否则,请将val设置为1

希望这有帮助!

答案 3 :(得分:2)

这就是所谓的三元运算符,它可以被视为&#34;立即运算符&#34;表达,也就是说:

val = val == 0 ? 0 : 1;

相当于:

if (val == 0) {
    val = 0;
} else {
    val = 1;
}