带有 "negative" 变量的三元运算
Ternary operation with a "negative" variable
负变量在三元中有什么作用?为什么输出是-10 is 10
?
public class Ternary {
public static void main(String[] args) {
int i, k;
i = -10;
k = i < 0 ? -i : i;
System.out.print(i + " is " + k);
}
}
谁能解释一下这个场景下变量的作用? -i
是什么意思?
是unary operation-(-(1))
是1
。写法比较长
int i = -10, k = Math.abs(i);
它首先检查
-10 < 0,事实证明是这样。
因此,'k' 将被赋值为 -(-10),因为 i = -10。结果变成10.
那么你就有答案了
-10 是 10 因为 i 的值保持不变
负变量在三元中有什么作用?为什么输出是-10 is 10
?
public class Ternary {
public static void main(String[] args) {
int i, k;
i = -10;
k = i < 0 ? -i : i;
System.out.print(i + " is " + k);
}
}
谁能解释一下这个场景下变量的作用? -i
是什么意思?
是unary operation-(-(1))
是1
。写法比较长
int i = -10, k = Math.abs(i);
它首先检查
-10 < 0,事实证明是这样。
因此,'k' 将被赋值为 -(-10),因为 i = -10。结果变成10.
那么你就有答案了
-10 是 10 因为 i 的值保持不变