Java規範表示(§4.2.5):一個整數或浮點表達式x可以被轉換爲一個布爾值
«一個整數或浮點表達式x可以被轉換爲一個布爾值, 遵循C語言慣例,即任何非零值都爲真,由 表達式x!= 0。»
可能有人知道,它們是什麼意思?
Java規範表示(§4.2.5):一個整數或浮點表達式x可以被轉換爲一個布爾值
«一個整數或浮點表達式x可以被轉換爲一個布爾值, 遵循C語言慣例,即任何非零值都爲真,由 表達式x!= 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
這是誰前來的Java與C的知識,它允許你這樣寫代碼的人:
int x = ...
if (x) {
... // Do something
}
以上,整數x
在上下文中使用其中一個邏輯表達式是期待。 C通過將x
與0進行比較,將其隱式轉換爲布爾值。一個等價的Java代碼必須做明確的比較:
int x = ...
if (x != 0) {
... // Do something
}
他們只是說,如果你有一個你想用作布爾值的數字,你必須寫'x!= 0'(或任何變量恰好是)。 Java不會像C那樣自動將數字視爲布爾值。 –