Java Reference
In-Depth Information
This is equivalent to saying that
V
is [un]assigned after
e
iff
V
is [un]assigned
before
e
.
Because a constant expression whose value is
true
never has the value
false
, and a con-
stant expression whose value is
false
never has the value
true
, the first two rules are
vacuously satisfied. They are helpful in analyzing expressions involving the operators
16.1.2. Conditional-And Operator
&&
when true.
•
V
is [un]assigned after
a
&&
b
when false iff
V
is [un]assigned after
a
when false
and
V
is [un]assigned after
b
when false.
•
V
is [un]assigned before
a
iff
V
is [un]assigned before
a
&&
b
.
•
V
is [un]assigned before
b
iff
V
is [un]assigned after
a
when true.
•
V
is [un]assigned after
a
&&
b
iff
V
is [un]assigned after
a
&&
b
when true and
V
is
[un]assigned after
a
&&
b
when false.
16.1.3. Conditional-Or Operator
||
true and
V
is [un]assigned after
b
when true.
•
V
is [un]assigned after
a
||
b
when false iff
V
is [un]assigned after
b
when false.
•
V
is [un]assigned before
a
iff
V
is [un]assigned before
a
||
b
.
•
V
is [un]assigned before
b
iff
V
is [un]assigned after
a
when false.
•
V
is [un]assigned after
a
||
b
iff
V
is [un]assigned after
a
||
b
when true and
V
is
[un]assigned after
a
||
b
when false.
16.1.4. Logical Complement Operator
!
false.
•
V
is [un]assigned after
!
a
when false iff
V
is [un]assigned after
a
when true.
•
V
is [un]assigned before
a
iff
V
is [un]assigned before
!
a
.
•
V
is [un]assigned after
!
a
iff
V
is [un]assigned after
!
a
when true and
V
is
[un]assigned after
!
a
when false.
This is equivalent to saying that
V
is [un]assigned after
!
a
iff
V
is [un]assigned
after
a
.