据我所知,C#、VB、Java 和 JavaScript 中布尔变量的默认值为false
(或者对于 JavaScript 来说,“表现得像假的”可能更准确)并且我确信还有许多其他语言也存在这种情况。
我想知道这是为什么?为什么语言设计者选择false
为默认值?对于数值,我可以看到零是一个逻辑选择,但我不认为false
比自然状态更重要true
.
顺便说一句,是否有任何语言的默认值都是 true?
从语义的角度来看,布尔值表示条件或状态。许多语言假设,如果没有初始化,则条件不满足(或者这样的状态为空,或者其他什么)。它的作用就像一面旗帜。换个角度想一想。如果布尔值的默认值为 true,那么该语言的语义会告诉您最初满足任何条件,这是不合逻辑的。
从实际的角度来看,编程语言通常在内部将布尔值存储为一个位(0 表示 false,1 表示 true),因此在这种情况下,数字类型的相同规则也适用于布尔值。
Java 布尔实例变量的默认值始终为 false,但这不适用于局部变量,您需要对其进行初始化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)