【发布时间】:2010-12-31 20:49:15
【问题描述】:
如果你试图找出一个 int 是否介于两个数字之间,为什么不能这样做:
if(10 < x < 20)
你必须这样做
if(10<x && x<20)
这似乎有点开销。
【问题讨论】:
-
开销如何?我认为你低估了 java 运行时......
-
好吧,也许开销是一个大词。但是为什么我们不能这样做。我每次在数学课上都写它。
-
因为这是 Java 使用的语法。没有“为什么”,就是这样。
-
@Timo Willemsen - 回复上面的评论;也许您所看到的内容因您的数学使用而有些恶化,但在日常使用中(在通用语言中)这不是一个大问题,因此不值得使用不同的语法。
-
不管 Java 是否会改变,挑战这种设计决策并不是异端邪说。您可能会发现“自然编程”研究发人深省。他们研究诸如要求人们去水果箱并“带回不是苹果或梨的东西”之类的事情。如果你不以非常夸张的方式唱“或”,很少有人会带着梨回来......因为我们听到的是 (not (apple or pear)) 而不是 (not apple) 或 (pear )。我们可以调整语言以更好地满足人类的期望。见:cs.cmu.edu/~NatProg/index.html
标签: java integer conditional-operator