1
boolean flag = false;
if(!flag) System.out.println(!flag); // prints true

なぜそれが他の場所に渡された条件付きパラメーターであると見なされるのだろ!flagうか?falseif statementtrue

4

5 に答える 5

8

そうではありません。if (boolean expression) { statement }「iftrueを実行する」という意味statementですboolean expression。以来flag = false!flag == true。いつも。

于 2011-07-12T01:16:54.160 に答える
2

!flagwhere flagisは、ifステートメントを含むすべてのコンテキストでfalse評価されます。true

于 2011-07-12T01:16:44.477 に答える
2

さて、あなたはおそらく条件演算子の評価を誤解しているでしょう。if条件がと評価された場合に限り、演算子は内部でステートメントを実行しますtrue

Now, flag is equal to false. This means that negation of flag will be true (!false = true). This is why tne statement inside the if confition is performed and writes true (the negated value of flag) to your console output.

于 2011-07-12T01:19:33.413 に答える
2

!flagの値は変更せず、評価flag時に無効にするだけです。

、はflag = false!flagと同じ!falseですtrue
あなたのコードはこれと同等です:

if (!false) System.out.println(!false); 

これは次と同等です:

if (true) System.out.println(true); 
于 2011-07-12T01:24:36.143 に答える
0

人間の言語で:

フラグが真でない場合は、「フラグ」の反対の値を出力します

于 2011-07-12T02:54:09.400 に答える