2017-08-02 12 views
-8

私は以下のコードを書いています。私はブール値をfalseに代入しているので、b変数にif変数をfalseに代入するので、条件が真で出力は "hello"になるはずです。しかし、出力は「hi」です。誰でも私を啓発してもらえますか?ブール条件付きのif else文のコード

boolean b= false; 

if (b=false){ 
    System.out.println("hello");   
} 
else { 
    System.out.println("hi"); 
} 
+0

'if(b = false)'、 '='は代入演算子です – khelwood

+0

ようこそStackOverflow。投稿する前に[How to Ask](https://stackoverflow.com/help/how-to-ask)セクションを読んでみてください。 –

答えて

0

あなたがb=falseを行うときに、代入演算子と照合され、次の行が実行されると平等

-2

をチェックするために==を使用したい(b == false)または(!b)

を試してみてください。

if(b=false) 

falseがbに割り当てられ、次にbの値がif conを評価するために使用されます

if(false) 

このように、プログラムの制御はelseブロックに移動します。

あなたはこのような何か行うことができます:あなたの問題は、あなたの

b=false 

=である

if(!(b=false)) { 
    System.out.println("hello"); 
} 
else { 
    System.out.println("hi"); 
} 
1

を代入演算子です。あなたが必要とするものは==です。

ブール値がfalseかどうかを確認する場合は、!bを使用することもできます。これはb== falseに相当します。