2011-10-27 7 views
-1

bがブール変数であるとすると、式(!b)と(b == false)は同じですか?私はこの質問で、これまでのよどこJavaでは式(!b)と(b == false)は同等ですか?

はここだ!

  • B - [ bがfalseの場合TRUE応答]または[bがtrueの場合にFALSE応答]を返します。

  • この場合、ブール変数「b」を宣言すると、 がtrueに設定されるため、!bはfalseを返します。

私が質問を完了するために必要なのは、bが最初に真であるかどうかを知ることです。

うまくいけば、これは意味があり、誰かが私のためにこれをクリアすることができますか?

編集: これは私の家庭教師の質問です。 "式(!b)と(b == false)は等価です。ここでbはブール変数です"

ここでは極端に役立つ潜在的な秘訣私はいくつかの助けを求めました:

状況が!bの場合、ステートメントが正しいために、これらの式はbのすべての値に対して同じ結果を提供する必要があります。つまり、bがfalseの場合、両方の式は同じ結果を返し、bが真の場合、両方の式が同じ結果を返します。両方の式を見る必要があります。

+0

を使用してください。どちらですか? – alex

+0

おっと - Java。ごめんなさい! –

答えて

3

はい、彼らはbだけtrueまたはfalseすることができれば、それは正しいです(しかし、注意してくださいJavaScriptで

(のはのJavaを言わせて、C++、C#の):-) "正気" の言語で等価です! if (!null)if (null == false)がfalseで、真実である。undefinedも同じ)

はないすべての言語がNOTEQUALSため==ため!を使用することに注意してください。たとえば、C言語では、おそらくboolFALSEの代わりfalseの代わりにintを使用しますが、結果は同じである(ただし、Cで、非ゼロが「真」であることに注意してください)でしょう

+2

言語がJavaであることが判明しました。 – alex

+1

@alexありがとう:-) – xanatos

+0

優秀な回答 - 本当に助けてくれてありがとうございます。D –

5

はい、しかし良いスタイルの義務!bではなく、b == false

+5

'if(someBoolean == true)'と思うと大変気に入りました。私は殺したいと思う。 – Bohemian

+1

ありがとうございます。私は念頭に置いて、私はボヘミアンが貧しいコードを持っているために私を殺すのは嫌いです:)ありがとうalot –

+1

@Bohemianそして 'C'でもバグの潜在的なソースになるでしょう:-)' if(someInt) ' != 'if(someInt == TRUE)' – xanatos

関連する問題