java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4209|回复: 2

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66375

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

    发表于 2015-4-22 21:40:16 | 显示全部楼层 |阅读模式
    今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:
    - K! K- k- ?3 V; {* ^public static void main(String[] args) throws UnsupportedEncodingException {
    / b9 Z  A, B7 y2 [! v0 H                boolean bool=false;
    ( t2 w# m& d- P/ C3 A! i1 w# \                if(bool=false||bool==false){3 y: b7 r- p9 ]- m- W
                            System.out.println("真"+bool);& n3 K3 N; j0 q6 Z9 ^' a; m
                    }else{
    2 O# E& B8 x. ^. }, w                        System.out.println("假"+bool);: Q: I2 @% b" Q) h
                    }: Y0 X! G& u, ?3 p; w
                    if(!bool!=false&&"字符串" instanceof String){$ J7 W- a0 x# ^7 q! g. }
                            System.out.println("真"+bool);
    ; p3 s2 s1 I( z9 r                }else{
    7 ~( y: _; v! ~0 |2 _9 {! ~2 w                        System.out.println("假"+bool);
    ; E# K( D7 z. g                }4 S9 w( D" r3 a0 |1 V4 T
            }; {0 |1 Y* m& S
    3 c! ?+ z4 g& d5 z% \( z3 C
    1 a: y( Q6 ]# W/ L: p4 A  ~
    运行的结果是:
    1 D# N* ]9 Z# g( F, \真true
    + L" r" o* }6 n3 P! X( B5 Y8 v, C; E+ f假true
    4 M+ w& }6 }+ Q! g* q
    4 z& F7 G5 `/ {这时有点疑惑,就像提问者所说的没有赋值为true啊9 ]$ G) M9 R; }& A0 Z0 t0 q
    同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?/ l, j2 i8 h. a" A% S
    然后想通过debug方式看看问题出在哪一步,结果更是诧异:
    " w4 r/ O! Z, @2 k& m- @真false& I+ \# \$ a  u9 m/ n) i0 H
    真false9 l4 c. ^2 }# y) O! Y% c

    & V6 c& \7 f& F; o% T( N4 G# w8 t. Y+ l
    彻底晕了,谁来解释下问题在哪里?
    9 H' v: A7 ?: g
    ; R& d+ I. E) _
    6 [, U( y6 V# p' p# t  S, F' e( D8 X
    " R9 h) x5 p! m9 Z6 c
    回复

    使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66375

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

     楼主| 发表于 2015-4-23 09:51:15 | 显示全部楼层
    这个问题的结果是没问题的,主要考虑到了运算符的优先级!! c  w+ L: y% M2 R6 _) B
    自己看下优先级,就什么都明白了
    8 p. l7 d  ]3 d- b3 D, d! X( P! t

    & n- @% g  m) y3 ]7 N# }9 q" ^% Q+ R* n" c# }. Q
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-12-22 03:01 , Processed in 0.075494 second(s), 28 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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