【问题标题】:Ternary operation with a "negative" variable带有“负”变量的三元运算
【发布时间】:2017-06-03 16:01:45
【问题描述】:

三元组中的负变量有什么作用?为什么输出是-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 是什么意思?

【问题讨论】:

  • 我以前从未听说过负变量。它是什么?您的意思是“具有负数值的变量”吗?
  • 是的。变量'i'在三元运算中改为'-i'。
  • 一个更好的术语可能是 negate 变量或在您使用它时 -- 获取变量的 绝对值。跨度>
  • 阅读精典手册docs.oracle.com/javase/tutorial/java/nutsandbolts/op1.html“一元运算符”还在下面的主题中讨论条件运算符。

标签: java ternary negative-integer


【解决方案1】:

这是一个unary operation -(-(1))1。写的比较长

int i = -10, k = Math.abs(i);

【讨论】:

  • 这种场景内部操作是怎样的? 'i' 是如何变成'-i' 的?
  • 如果i &lt; 0,你说的是k = -i。这就是i 变成-i 的方式。
【解决方案2】:

它首先检查

-10

因此,“k”将被赋值为 -(-10),因为 i = -10。结果变为 10。

那么你就有答案了

-10 是 10,因为 i 的值保持不变

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 2023-02-03
    • 2020-10-06
    • 2015-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多