bat*_*wad 5 theory programming-languages
据我所知,在C#,VB,Java和JavaScript中,布尔变量的默认值是false(或者在JavaScript的情况下,“行为类似false”更为准确),而且我敢肯定还有很多其他这种情况下使用的语言。
我想知道为什么会这样吗?语言设计师为什么选择false默认语言?对于数值,我可以看到零是一个合理的选择,但我看不出它false比更加自然true。
顺便说一句,是否有默认语言为true的语言?
从语义的角度来看,布尔值表示条件或状态。许多语言假设,如果没有初始化,则条件不满足(或者这样的状态为空,或者其他什么)。它的作用就像一面旗帜。换个角度想一想。如果布尔值的默认值为 true,那么该语言的语义会告诉您最初满足任何条件,这是不合逻辑的。
从实际的角度来看,编程语言通常在内部将布尔值存储为一个位(0 表示 false,1 表示 true),因此在这种情况下,数字类型的相同规则也适用于布尔值。
Java 布尔实例变量的默认值始终为 false,但这不适用于局部变量,您需要对其进行初始化。
| 归档时间: |
|
| 查看次数: |
3828 次 |
| 最近记录: |