File tree 1 file changed +2
-2
lines changed
1 file changed +2
-2
lines changed Original file line number Diff line number Diff line change @@ -903,7 +903,7 @@ while(x = y) {
903
903
}
904
904
```
905
905
906
- 显然,程序员原意是测试等价性 ` == ` ,而非赋值 ` = ` 。若变量 ** y** 非 0 的话,在 C/C++ 中,这样的赋值操作总会返回 ` true ` 。于是,上面的代码示例将会无线循环 。而在 Java 中,这样的表达式结果并不会转化为一个布尔值。 而编译器会试图把这个 ** int** 型数据转换为预期应接收的布尔类型。最后,我们将会在试图运行前收到编译期错误。因此,Java 天生避免了这种陷阱发生的可能。
906
+ 显然,程序员原意是测试等价性 ` == ` ,而非赋值 ` = ` 。若变量 ** y** 非 0 的话,在 C/C++ 中,这样的赋值操作总会返回 ` true ` 。于是,上面的代码示例将会无限循环 。而在 Java 中,这样的表达式结果并不会转化为一个布尔值。 而编译器会试图把这个 ** int** 型数据转换为预期应接收的布尔类型。最后,我们将会在试图运行前收到编译期错误。因此,Java 天生避免了这种陷阱发生的可能。
907
907
908
908
唯一有种情况例外:当变量 ` x ` 和 ` y ` 都是布尔值,例如 ` x=y ` 是一个逻辑表达式。除此之外,之前的那个例子,很大可能是错误。
909
909
@@ -1469,4 +1469,4 @@ bigger = -4
1469
1469
[ ^ 2 ] : * John Kirkham* 说过:“自 1960 年我开始在 IBM 1620 上开始编程起,至 1970 年之间,FORTRAN 一直都是一种全大写的编程语言。这可能是因为许多早期的输入设备都是旧的电传打字机,使用了 5 位波特码,没有小写字母的功能。指数符号中的 e 也总是大写的,并且从未与自然对数底数 e 混淆,自然对数底数 e 总是小写的。 e 简单地代表指数,通常 10 是基数。那时,八进制也被程序员广泛使用。虽然我从未见过它的用法,但如果我看到一个指数符号的八进制数,我会认为它是以 8 为基数的。我记得第一次看到指数使用小写字母 e 是在 20 世纪 70 年代末,我也发现它令人困惑。这个问题出现的时候,小写字母悄悄进入了 Fortran。如果你真的想使用自然对数底,我们实际上有一些函数要使用,但是它们都是大写的。”
1470
1470
1471
1471
<!-- 分页 -->
1472
- <div style =" page-break-after : always ;" ></div >
1472
+ <div style =" page-break-after : always ;" ></div >
You can’t perform that action at this time.
0 commit comments