java自学网VIP

Java自学网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4124|回复: 2

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

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

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

    发表于 2015-4-22 21:40:16 | 显示全部楼层 |阅读模式
    今天在java自学网群中有人提出了一个关于java程序的运行结果的疑惑,大家快过来帮忙解答下:" x/ r  L: y% X9 @8 H  ^$ {; V
    public static void main(String[] args) throws UnsupportedEncodingException {
    7 e( C5 T& _% T- w; c                boolean bool=false;2 a3 F( u. j0 ?: A/ a- k' d4 O* ~% M
                    if(bool=false||bool==false){& \  i9 \. y# ]/ S3 {9 i3 L+ w
                            System.out.println("真"+bool);4 F: e3 m- s4 f
                    }else{
    ' B0 k+ R; n. G4 o  O3 U% [                        System.out.println("假"+bool);
    $ E! T$ V5 [/ j) W                }
    + C+ Z0 h5 k+ W  l, J2 a9 V                if(!bool!=false&&"字符串" instanceof String){
    ! @3 P" G3 U% A8 c, K) c) S) A                        System.out.println("真"+bool);: Y. [- u/ |4 K
                    }else{
    5 b$ g: [/ L7 ^% D                        System.out.println("假"+bool);5 E. j! E7 b/ m
                    }
    " e; V  h' Q7 v' ]2 _; O8 D        }0 h2 @7 r" {! |
    - V. g3 I" b, F7 h: {9 j# W

    . L* f; S  l9 c" Q运行的结果是:- p0 U# I2 N8 `. H
    真true
    2 q. E6 E- S, o% ?' n. ~. l. c. A假true
    " R) O& g4 s: J9 P- |1 i- d5 Z! w4 M7 z, [" Q) e* k
    这时有点疑惑,就像提问者所说的没有赋值为true啊
    1 Z' }* I/ v4 ?同时站长也把程序写了一下,运行了一下,结果的确如此,疑惑了?# q8 O: @% b& p6 m: p; h( Z
    然后想通过debug方式看看问题出在哪一步,结果更是诧异:
    % t$ O7 w+ Y- t2 ]1 r真false& S7 J( V( C" P: x" E: A
    真false
    7 ~: A) Q& X! X) @8 p. n! r4 m. P1 E. ?

    " V: k* k* R; ^6 S* B, i0 l彻底晕了,谁来解释下问题在哪里?
    + I2 w% Q5 \5 q" `
    5 `3 [  G! I% {; C" F2 U$ k5 |) C& z( e% h* r
    % k! Z' _) }4 L

    + k$ }) n9 a* ?. c) R
    回复

    使用道具 举报

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

    [LV.Master]出神入化

    2025

    主题

    3683

    帖子

    6万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    66345

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

     楼主| 发表于 2015-4-23 09:51:15 | 显示全部楼层
    这个问题的结果是没问题的,主要考虑到了运算符的优先级!
    9 Y* _. ]0 y& r4 k- D6 ^( Q自己看下优先级,就什么都明白了
    1 ]+ A% |# W7 G) a) Z$ O6 x
    / Z, j5 ]7 u: ]& Z   e. }' z6 t/ a8 j8 S

      ~# @7 V1 U; H
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    81

    帖子

    176

    积分

    普通会员

    Rank: 2

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-11-21 18:04 , Processed in 0.183298 second(s), 28 queries .

    Powered by Javazx

    Copyright © 2012-2022, Javazx Cloud.

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