2017-06-03 93 views
-5

負變量在三元中做什麼?爲什麼輸出-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是什麼意思?

+0

。它是什麼?你的意思是「一個具有負數值的變量」嗎? – scottb

+0

是的,變量'i'在三元操作中更改爲'-i'。 –

+1

更好的術語可能是*否定*變量或當您使用它 - 獲取變量的*絕對值*。 –

回答

2

這是一個unary operation-(-(1))1。這是寫

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

在這種情況下發生了什麼內部操作? '我'如何改爲'-i'? –

+1

如果'i <0',你說'k = -i'。這就是'我'如何變成'-i'。 – nbokmans

1

它首先檢查

-10 < 0更長的路,這原來是真的。

因此,當'i = -10時,'k'將被賦值爲 - ( - 10)。結果變成10

然後你就有答案了

-10〜10值我從來沒有聽說過負面的變量之前我保持不變

+0

是的,我明白了。謝謝! –