在 Java 里什么时候使用三目运算比较好? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
JustinJie
V2EX    Java

在 Java 里什么时候使用三目运算比较好?

  •  1
     
  •   JustinJie Dec 15, 2017 4527 views
    This topic created in 3057 days ago, the information mentioned may be changed or developed.

    想请问各位大牛,在 Java 编程中,何时使用三目运算,何时使用 If-else 比较好?或者其他经验也可以分享~

    14 replies    2017-12-16 09:02:09 +08:00
    ke1e
        1
    ke1e  
       Dec 15, 2017
    给一个变量赋值但是这个变量有临界值的时候
    arclin16
        2
    arclin16  
       Dec 15, 2017 via iPhone
    同意楼上
    honeycomb
        3
    honeycomb  
       Dec 15, 2017 via Android
    这个运算符当它是个语法糖,用来让表达式简化(具体适用范围楼上已经说清楚了)的。
    如果对你而言它不比 if else 更好的话,没有必要逼着自己去用。
    gbin
        4
    gbin  
       Dec 15, 2017
    三目元算简洁,if-else 可读性高。
    SuperMild
        5
    SuperMild  
       Dec 15, 2017
    感觉一行可以写下的就先写三目,写完看着不顺眼就改成 if else,看着顺眼就保留。
    cuebyte
        6
    cuebyte  
       Dec 15, 2017
    Java 的 if-else 没有返回值,三目就是有返回值的 if-else
    lihongjie0209
        7
    lihongjie0209  
       Dec 15, 2017
    当 Idea 提示你可以简化 If 的时候. 写代码的时候不要考虑这种细节问题, 跑起来和逻辑正确是最基本的要求, 其次是可读性, 最后是你的个人喜好.
    padeoe
        8
    padeoe  
       Dec 15, 2017   2
    Java 三目操作符有时候挺不直观的,譬如:
    System.out.println(true ? 'a' : 97);
    System.out.println(true ? 'a' : 65536);
    分别输出 a 和 97。
    我可能并不是唯一一个搞不清的,最好还是 if-else 吧。之前写过一篇博客介绍:
    https://padeoe.com/the-type-of-conditional-expression-in-java/
    misaka19000
        9
    misaka19000  
       Dec 15, 2017
    想用的时候就用 不用那么死板的
    zhx1991
        10
    zhx1991  
       Dec 16, 2017
    简洁无歧义的时候

    语法糖用起来不是让人难懂的
    riggzh
    &nsp;   11
    riggzh  
       Dec 16, 2017
    @padeoe 97 单纯是 a 的 ascii 而已,请多用双引号来表达字符
    riggzh
        12
    riggzh  
       Dec 16, 2017
    @padeoe JAVA 中的单引号如果没记错 只有 char 才会用单引
    vegito2002
        13
    vegito2002  
       Dec 16, 2017
    比较短的时候就可以用, 超过一行就不要用了. 最好:两边的内容有一定的对称性, 这样看起来易读一些, 不过其实也不是强求
    metorm
        14
    metorm  
       Dec 16, 2017 via Android
    需要根据条件初始化常量的时候
    About     Help     Advertise     Blog     API     FAQ     Solana     1015 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 54ms UTC 22:28 PVG 06:28 LAX 15:28 JFK 18:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86