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

2017-12-15 20:09:44 +08:00
 JustinJie

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

3859 次点击
所在节点    Java
14 条回复
ke1e
2017-12-15 20:24:21 +08:00
给一个变量赋值但是这个变量有临界值的时候
arclin16
2017-12-15 22:35:38 +08:00
同意楼上
honeycomb
2017-12-15 22:41:44 +08:00
这个运算符当它是个语法糖,用来让表达式简化(具体适用范围楼上已经说清楚了)的。
如果对你而言它不比 if else 更好的话,没有必要逼着自己去用。
gbin
2017-12-15 22:43:03 +08:00
三目元算简洁,if-else 可读性高。
SuperMild
2017-12-15 22:45:45 +08:00
感觉一行可以写下的就先写三目,写完看着不顺眼就改成 if else,看着顺眼就保留。
cuebyte
2017-12-15 22:49:40 +08:00
Java 的 if-else 没有返回值,三目就是有返回值的 if-else
lihongjie0209
2017-12-15 23:01:45 +08:00
当 Idea 提示你可以简化 If 的时候. 写代码的时候不要考虑这种细节问题, 跑起来和逻辑正确是最基本的要求, 其次是可读性, 最后是你的个人喜好.
padeoe
2017-12-15 23:37:06 +08:00
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
2017-12-15 23:52:12 +08:00
想用的时候就用 不用那么死板的
zhx1991
2017-12-16 00:29:28 +08:00
简洁无歧义的时候

语法糖用起来不是让人难懂的
riggzh
2017-12-16 00:45:45 +08:00
@padeoe 97 单纯是 a 的 ascii 而已,请多用双引号来表达字符
riggzh
2017-12-16 00:47:52 +08:00
@padeoe JAVA 中的单引号如果没记错 只有 char 才会用单引
vegito2002
2017-12-16 02:30:32 +08:00
比较短的时候就可以用, 超过一行就不要用了. 最好:两边的内容有一定的对称性, 这样看起来易读一些, 不过其实也不是强求
metorm
2017-12-16 09:02:09 +08:00
需要根据条件初始化常量的时候

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/415145

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX