!flag在java中有两个含义?

Eng*_*uad 1 java if-statement not-operator

boolean flag = false;
if(!flag) System.out.println(!flag); // prints true
Run Code Online (Sandbox Code Playgroud)

我想知道为什么!flag被认为是false一个条件参数传递给if statementtrue其他地方一样?

dle*_*lev 6

不是.if (boolean expression) { statement }意思是"执行statementif boolean expression是真的." 自从flag = false,!flag == true.总是.