Skip to content

Commit 02ca18a

Browse files
authored
Update 04-Operators.md
lingcoder#237
1 parent d5f6d05 commit 02ca18a

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

docs/book/04-Operators.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -903,7 +903,7 @@ while(x = y) {
903903
}
904904
```
905905

906-
显然,程序员原意是测试等价性 `==`,而非赋值 `=`。若变量 **y** 非 0 的话,在 C/C++ 中,这样的赋值操作总会返回 `true`。于是,上面的代码示例将会无线循环。而在 Java 中,这样的表达式结果并不会转化为一个布尔值。 而编译器会试图把这个 **int** 型数据转换为预期应接收的布尔类型。最后,我们将会在试图运行前收到编译期错误。因此,Java 天生避免了这种陷阱发生的可能。
906+
显然,程序员原意是测试等价性 `==`,而非赋值 `=`。若变量 **y** 非 0 的话,在 C/C++ 中,这样的赋值操作总会返回 `true`。于是,上面的代码示例将会无限循环。而在 Java 中,这样的表达式结果并不会转化为一个布尔值。 而编译器会试图把这个 **int** 型数据转换为预期应接收的布尔类型。最后,我们将会在试图运行前收到编译期错误。因此,Java 天生避免了这种陷阱发生的可能。
907907

908908
唯一有种情况例外:当变量 `x``y` 都是布尔值,例如 `x=y` 是一个逻辑表达式。除此之外,之前的那个例子,很大可能是错误。
909909

@@ -1469,4 +1469,4 @@ bigger = -4
14691469
[^2]: *John Kirkham* 说过:“自 1960 年我开始在 IBM 1620 上开始编程起,至 1970 年之间,FORTRAN 一直都是一种全大写的编程语言。这可能是因为许多早期的输入设备都是旧的电传打字机,使用了 5 位波特码,没有小写字母的功能。指数符号中的 e 也总是大写的,并且从未与自然对数底数 e 混淆,自然对数底数 e 总是小写的。 e 简单地代表指数,通常 10 是基数。那时,八进制也被程序员广泛使用。虽然我从未见过它的用法,但如果我看到一个指数符号的八进制数,我会认为它是以 8 为基数的。我记得第一次看到指数使用小写字母 e 是在 20 世纪 70 年代末,我也发现它令人困惑。这个问题出现的时候,小写字母悄悄进入了 Fortran。如果你真的想使用自然对数底,我们实际上有一些函数要使用,但是它们都是大写的。”
14701470

14711471
<!-- 分页 -->
1472-
<div style="page-break-after: always;"></div>
1472+
<div style="page-break-after: always;"></div>

0 commit comments

Comments
 (0)