java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4439|回复: 2

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

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

    [LV.Master]出神入化

    2095

    主题

    3753

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66783

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

    发表于 2015-4-22 21:40:16 | 显示全部楼层 |阅读模式
    今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:% R% a4 X' N9 F
    public static void main(String[] args) throws UnsupportedEncodingException {
    1 Z. d5 r- d# ]5 g" u3 q* s                boolean bool=false;
    + s/ ~4 a3 k" I9 S                if(bool=false||bool==false){0 c' k4 [: J5 ?" V$ X( |% d
                            System.out.println("真"+bool);
    6 W! r/ A  x6 i; N' |) k- T* }" J                }else{1 k0 D! d4 {. T9 z9 R* T
                            System.out.println("假"+bool);
    6 w# F" y8 a) |3 m% c' {/ U. c! x                }- [. O" @. j% X3 Z- z% I* I
                    if(!bool!=false&&"字符串" instanceof String){
    & r( J2 g& }8 s. p                        System.out.println("真"+bool);4 Z. N5 S. c. b4 ]* o8 M
                    }else{
    & K1 [7 v; y% _) F                        System.out.println("假"+bool);
    ! }) l9 r# O7 y9 d  m( A8 E. i                }* f% A8 ~# J1 h$ \7 W
            }
    2 T. y: U+ Q/ r# ^
    ! A3 g, d3 z& f; A: ]7 j2 z6 k/ s3 W$ M7 }3 k
    运行的结果是:
    6 n& o# N$ Q/ ~% R真true! [( I- A) e2 m) n
    假true5 z; e6 {! d8 x

    ' R2 W" K( s- t8 B. W! t这时有点疑惑,就像提问者所说的没有赋值为true啊
      b" o: M+ J8 p3 p, ^同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?( B) B, a% \8 |6 U
    然后想通过debug方式看看问题出在哪一步,结果更是诧异:
    0 o# f4 p6 w' }/ {( W& x+ T1 c" F- P真false
    7 \: b) ^. M1 [( r真false1 `( }) o' ]: A7 {2 Z
    2 V4 s. \+ r1 `1 e

    ; ~+ o9 I" a: ]% I" @: p彻底晕了,谁来解释下问题在哪里?
      {6 }' l4 b! |' }5 c4 @) O) Z, k4 m( m& F/ @
    ; Y' y6 ?0 g! i) C

    3 ^  B6 |: |3 P- n% }0 L( z. K4 F
    ! w4 l1 p  n& s+ ]) A
    回复

    使用道具 举报

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

    [LV.Master]出神入化

    2095

    主题

    3753

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66783

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

     楼主| 发表于 2015-4-23 09:51:15 | 显示全部楼层
    这个问题的结果是没问题的,主要考虑到了运算符的优先级!
      i" B1 d5 T, h自己看下优先级,就什么都明白了
    / z" N- \0 Y$ L' p) ^& l" c: B; B: z7 n3 n* Z

    ' H% T- O% h8 |, d! ~2 }" T9 e( ~  h
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2025-3-31 23:54 , Processed in 0.119238 second(s), 30 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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