2011-10-27 76 views
-1

鑑於b是一個布爾變量,表達式(!b)和(b == false)是否相同?Java中的表達式(!b)和(b == false)是否相同?

下面是我在哪裏至今這個問題:

  • b - 返回[如果b是真的假響應]或[如果 b爲假真實反應]!

  • 聲明一個布爾變量'b',在這種情況下,將它設置爲 true,因此使得!b返回false。

我想我需要完成的問題是要知道b是否最初是真的,我認爲它是?

希望這是有道理的,有人可以爲我清除這個?編輯: 這是我的導師提問。我被要求決定這個陳述是真是假: 「表達式(!b)和(b == false)是平等的,其中b是一個布爾變量」

這裏是極其有幫助的神祕線索我請求了一些幫助:

!b的情況是這些表達式應該爲b的所有值提供相同的結果,以便語句正確。即如果b爲假,那麼兩個表達式都給出相同的結果,如果b爲真,那麼兩個表達式都會給出相同的結果。你需要看兩個表達式。

+0

取決於語言。這是什麼? – alex

+0

糟糕 - Java。抱歉! –

回答

3

是的,他們是在 「健全」 語言:-)(假設的Java,C++,C#)

在Javascript中如果b只能是truefalse,它是正確的(但要注意相當於! if (!null)是真實的,if (null == false)是假的。同爲undefined

請注意,並非所有的語言都使用!NOT==EQUALS。例如用C可能會使用int,而不是boolFALSE代替false,但結果將是相同的(但請注意,在C,非零是「真」)

+2

語言被發現是Java。 – alex

+1

@alex謝謝:-) – xanatos

+0

優秀的答案 - 非常感謝,真的有幫助:D –

5

肯定的,但良好的作風任務使用!b而不是b == false

+5

我喜歡它,當我看到'if(someBoolean == true)'。讓我想要殺人。 – Bohemian

+1

謝謝你的回答。我會牢記這一點,我不希望波希米亞人因爲糟糕的代碼而謀殺我:)非常感謝 –

+1

@Bohemian在'C'中,它甚至會成爲bug的潛在來源:-)'if(someInt)' !='if(someInt == TRUE)' – xanatos

相關問題