|
今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:1 N W! ?- w4 I; r$ Q# I3 c
public static void main(String[] args) throws UnsupportedEncodingException {% O. P! n4 t5 G; G/ F7 O+ A
boolean bool=false;
7 G. V- ]% X! Z* i2 R5 S( j if(bool=false||bool==false){* P' M6 k+ t- I3 c$ h" g. ~
System.out.println("真"+bool);
& s K: l7 W8 J; q }else{
8 E" ]: T$ \7 F+ G" i System.out.println("假"+bool);; u# s) t4 {: D5 b+ z% f4 Y5 n
}
' I; l. j) V# G& p- c8 I# T if(!bool!=false&&"字符串" instanceof String){
: U& E" W2 t# e System.out.println("真"+bool);
$ R( m6 ]& @, m3 c- ` }else{
* ?1 @$ z8 n+ w+ T1 \ System.out.println("假"+bool);+ F! p' z, L: U2 r8 C
}% L) C7 X4 s) R+ y4 b9 M
}
; ], Q- L4 |* [' `; Z7 S$ \$ n
8 d9 u4 Q& {3 `9 U& Q. R* ?# k3 v1 W; w% m- ?
运行的结果是:
8 C5 h0 u ^$ R. w7 d真true
- ]2 y4 ?! O* ]2 _1 H2 k1 L2 f假true
* l$ V5 D/ K) Z9 o: @9 i! X- V. H( z# T; ?& V+ _
这时有点疑惑,就像提问者所说的没有赋值为true啊* H. S0 c) N/ e( r6 I
同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?
* H4 t, n' `8 P1 J然后想通过debug方式看看问题出在哪一步,结果更是诧异:; L5 M! j/ W3 w* z+ s! z; F9 O6 W5 [
真false# J: i8 H2 n. H% M6 N. S& @9 g- r
真false
! t( }" |8 D/ h* w* [; B4 h: N6 Z9 G2 T" e" @1 D" v8 y
$ V, |# j" U6 O" ?4 d- `& O
彻底晕了,谁来解释下问题在哪里?
|/ A8 l7 L6 \" A2 ?9 y( w8 X- ], P' B* v& |
; J5 l" z% T: I0 R* v
, G2 {) f0 E: J6 n
# R* z. {* S# R |
|