• 締切済み

Javaのif文がわかりません!

public class If2 {   static boolean b1, b2;   public static void main(String[] args) {     int x = 0;     if ( !b1 ) {     if ( !b2 ) {       b1 = true;       x++;       if ( 5 > 6) {         x++;       }       if ( !b1 ) x = x + 10;       else if ( b2 = true ) x = x + 100;       else if ( b1 | b2 ) x = x + 1000;       }     }     System.out.println(x);    }  } ------------------------------------------------------------ 正常にコンパイルされ、101とでます。 if文の()内にある!b1というのが意味が分かりません^^; 2行目でb1とb2はfalseになるのは分かりましたが !b1や!b2はfalseではない!ということですか? 誰か教えてください!よろしくお願いします!!

みんなの回答

  • utano_m
  • ベストアンサー率45% (14/31)
回答No.1

条件式の頭に付く!は否定の意味として用いられます。 つまり「not」という事です。 if ( !b1 ) と言う条件式があった場合、変数b1の値が真(True)ならば 「not True」=「False」という事になり、変数b1の値が偽(False)ならば 「not False」=「True」という事になります。

kokoro24
質問者

お礼

ありがとうございます! falseではない。 trueではない。 ということですね! ありがとうございました!!