java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3560|回复: 2

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66123

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

    发表于 2015-4-22 21:40:16 | 显示全部楼层 |阅读模式
    今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:" H: i/ ^- K! }# z: u# O/ k5 |
    public static void main(String[] args) throws UnsupportedEncodingException {
    & i* [3 E& @& |7 I                boolean bool=false;! f% w2 N/ s2 z* b9 J5 L% S0 t
                    if(bool=false||bool==false){; q2 o8 F* {3 f, d
                            System.out.println("真"+bool);" x6 B) D( r4 N1 k% T, O4 S8 i+ B
                    }else{
    4 [. I4 b9 k$ n# C                        System.out.println("假"+bool);' Y( E  q  f. z& O' e
                    }
    : [8 h) c; }0 H                if(!bool!=false&&"字符串" instanceof String){
    ( a4 B: w! }! d7 a                        System.out.println("真"+bool);
    5 R' C; T* |% N5 F1 F) n                }else{
    ! M# @5 T" `# J8 _! V                        System.out.println("假"+bool);
    6 _% H, z" X2 z7 j+ Y) M) R                }4 x2 P: z5 |# ~' d3 |
            }
    ; ]( _% N& s2 p0 |* N8 l  o  V/ `5 T/ h- x. V2 k

    & u( o7 |( h% S# v运行的结果是:7 _+ Z1 X/ G! o- D! U1 B! y
    真true
    5 S* e: ^( q' W' ^假true) m# P& x& R) J' @* ?
    9 ^  s" A# r3 ?6 U+ y
    这时有点疑惑,就像提问者所说的没有赋值为true啊
      W* \0 ~' J3 N  g$ d; A+ k2 ?+ ?同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?& K: ^7 Y! m4 @- G$ L% P. B
    然后想通过debug方式看看问题出在哪一步,结果更是诧异:+ h0 ?, C5 Q  R# F% W4 o
    真false
    / P$ R: T5 H" U真false
    3 `8 B8 k, U* G5 b: D, h  ~8 p( I, g4 z4 J& ~3 `# j

    " k1 ~. ~- U6 Y; I. ?8 |彻底晕了,谁来解释下问题在哪里?
    * D1 s4 t2 m/ t3 N" S' ~5 z
    8 v7 j0 A! a  C4 M; n/ p# ?6 b  {2 p- t' h, `, I

    ' A9 i9 P. o+ V# v
      D. N4 B7 Z9 O1 l7 {: a! e/ j( I; b" F' f
    回复

    使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66123

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

     楼主| 发表于 2015-4-23 09:51:15 | 显示全部楼层
    这个问题的结果是没问题的,主要考虑到了运算符的优先级!' N  Q3 M$ S. ~8 J# G4 _! W. Q
    自己看下优先级,就什么都明白了1 o' B0 E; l7 b* A5 L  U

    * I2 Q5 v' Y$ _& ^! y8 i
    5 q4 h; U1 }5 H* d) a* a3 J$ e8 f" _' V5 A0 \
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 23:31 , Processed in 0.148993 second(s), 32 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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