【发布时间】:2011-03-19 18:18:44
【问题描述】:
我在 Java 中有这个语句:
System.out.println(3|4);
为什么输出是 7?
【问题讨论】:
-
您期待什么?为什么?
-
@EJP:在编程语言中使用运算符符号的目的是使我们的程序中使用与我们在余生中使用的相同符号成为可能。竖线通常表示 可被整除,所以虽然我不能代表 OP,但我自己希望
3|4的结果是false而不是7我怀疑几乎所有在高中学习数学的人都会有同样的期望。 -
在美国,Java 被规范,竖线与除法没有任何关系。我们使用水平条(有时在上方和下方带有点),在极少数情况下使用正斜杠。绝不是垂直线。
-
@Brian,我以为那是德国人的一些特质,但仔细观察,可能不是:en.wikipedia.org/wiki/Vertical_bar#Mathematics(寻找“可分割性”)。但它也绝对不是外行的数学符号。 :)
-
的目的|运算符就是语言规范所说的那样。不符合您的期望。