2017-08-03 32 views
-2

Java規範表示(§4.2.5):一個整數或浮點表達式x可以被轉換爲一個布爾值

«一個整數或浮點表達式x可以被轉換爲一個布爾值, 遵循C語言慣例,即任何非零值都爲真,由 表達式x!= 0。»

可能有人知道,它們是什麼意思?

+0

他們只是說,如果你有一個你想用作布爾值的數字,你必須寫'x!= 0'(或任何變量恰好是)。 Java不會像C那樣自動將數字視爲布爾值。 –

回答

0

在純C中,它可以作爲布爾值進行編譯時解析。 這就是它可以用作布爾值。

int a = 1 
int b = 0 

if a: 
    ... 
    //This will run as it's true. 
if b: 
    ... 
    //This won't run as it's false 
1

這是誰前來的Java與C的知識,它允許你這樣寫代碼的人:

int x = ... 
if (x) { 
    ... // Do something 
} 

以上,整數x在上下文中使用其中一個邏輯表達式是期待。 C通過將x與0進行比較,將其隱式轉換爲布爾值。一個等價的Java代碼必須做明確的比較:

int x = ... 
if (x != 0) { 
    ... // Do something 
} 
相關問題