java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4431|回复: 2

很怪异的java程序题 好多人都不知道为什么

[复制链接]
  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2093

    主题

    3751

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66773

    宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2015-4-22 21:40:16 | 显示全部楼层 |阅读模式
    今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:( U) g& |; Y0 d8 U
    public static void main(String[] args) throws UnsupportedEncodingException {
    + _, w  N5 M. b8 }                boolean bool=false;
    $ F2 q1 M& Z6 c# M3 E3 A7 _                if(bool=false||bool==false){
    - N; W5 p5 W7 m- }                        System.out.println("真"+bool);
    + e! C7 L) A/ `: z( _9 P% q" }! ~                }else{
    6 V6 X+ [2 D2 W$ B% U                        System.out.println("假"+bool);
    + I% S# u7 r( I! {                }
    ! r, j" W' |/ [' p: h                if(!bool!=false&&"字符串" instanceof String){$ c% z) f* x5 Z- f; W) ]* D6 Z
                            System.out.println("真"+bool);
    6 W. c; c' v. l" m+ \8 ?/ O                }else{
    $ {4 J9 P3 a! ~9 A& C3 a3 l! m                        System.out.println("假"+bool);
    5 [* d6 O- u, B; ^) l( J                }; S& o! s. B% e7 w2 `2 P
            }
    * t) B4 D% U, q6 F6 R6 {: C7 D
    / Y! K8 Q' Z7 c: K
    " h7 R" B" A; a9 M7 r% O3 `- l. I运行的结果是:
    . l, J; n9 v2 p4 ?真true
    / l$ r! f- j8 [3 y假true
    4 w( Q" _/ \' i+ f" S. J4 f& O
    ! ^5 l( _5 B8 o. u6 H这时有点疑惑,就像提问者所说的没有赋值为true啊6 O3 ^0 x8 y) R6 t
    同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?" l1 M4 S9 `# A2 L6 u2 S5 P$ o  |% ^
    然后想通过debug方式看看问题出在哪一步,结果更是诧异:
    ( S5 _! c% h6 Q6 P! M/ K. c" e真false6 c; _$ t; u! b8 |9 j3 s
    真false
    " x6 C4 E. o! H& N% q8 D: B+ P. r3 }+ M5 u

    1 [/ O% W1 ]; r; y9 a$ _- E彻底晕了,谁来解释下问题在哪里?0 u1 ~2 \# s+ k

    - o0 d6 L; k  X3 g9 _- m& U, Z# Y* c7 V( f9 Q/ D
    3 k$ k+ g! r. Z4 O
    $ H& e, l# |: @: O7 H
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-25 00:00
  • 签到天数: 1917 天

    [LV.Master]出神入化

    2093

    主题

    3751

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66773

    宣传达人突出贡献优秀版主荣誉管理论坛元老

     楼主| 发表于 2015-4-23 09:51:15 | 显示全部楼层
    这个问题的结果是没问题的,主要考虑到了运算符的优先级!
    4 X- i1 R1 Y8 u% }! d自己看下优先级,就什么都明白了, \& g- y( Y& |; B; `7 Q* C) c) B
    ( Y9 t2 \9 b7 I; n1 `$ a) P. J
    ( \( E: G* b/ m* _& s: v
    2 }$ F- _/ O5 \; w" K+ T
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

    积分
    176
    发表于 2022-7-8 13:47:03 | 显示全部楼层
    感谢楼主  
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|Java自学网

    GMT+8, 2025-3-29 11:28 , Processed in 0.454632 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

    快速回复 返回顶部 返回列表