为什么布尔变量的默认值往往为 false? [关闭]

2023-11-24

据我所知,C#、VB、Java 和 JavaScript 中布尔变量的默认值为false(或者对于 JavaScript 来说,“表现得像假的”可能更准确)并且我确信还有许多其他语言也存在这种情况。

我想知道这是为什么?为什么语言设计者选择false为默认值?对于数值,我可以看到零是一个逻辑选择,但我不认为false比自然状态更重要true.

顺便说一句,是否有任何语言的默认值都是 true?


从语义的角度来看,布尔值表示条件或状态。许多语言假设,如果没有初始化,则条件不满足(或者这样的状态为空,或者其他什么)。它的作用就像一面旗帜。换个角度想一想。如果布尔值的默认值为 true,那么该语言的语义会告诉您最初满足任何条件,这是不合逻辑的。

从实际的角度来看,编程语言通常在内部将布尔值存储为一个位(0 表示 false,1 表示 true),因此在这种情况下,数字类型的相同规则也适用于布尔值。

Java 布尔实例变量的默认值始终为 false,但这不适用于局部变量,您需要对其进行初始化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么布尔变量的默认值往往为 false? [关闭] 的相关文章

  • 常量的好处

    我知道关于常量的一大问题是 您不必遍历和更新到处使用该常量的代码 这很好 但假设您没有明确将其声明为常量 采用实际上不会更改的变量并将其设为常量有什么好处 这会节省处理和 或代码大小 等吗 基本上我有一个程序 编译器说某个特定变量没有更改
  • 编写编程语言的建议? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于想要编写编程或脚本语言的人 您可以提供哪些建议 我 我不担心如何编程或设计编译器 而是担心如何使用工具和代码生成器快速开发编译器
  • 正则表达式/计算机理论 - 按字母顺序构造正则表达式

    在我的语法 计算机理论课中 我试图按字母顺序 a z 创建正则表达式 l a b x y z i o u e c 这就是我使用 kleene 闭合想到的 aeiou x y z i o u e 随着 kleene 关闭 那是零或更多 所以应
  • 简洁表达数学公式的语法建议

    我正在 C 中开发功能域特定的嵌入式语言 以尽可能简洁 准确地将公式转换为工作代码 我在评论中发布了一个原型 大约有两百行长 现在我的语言看起来像这样 嗯 实际上看起来像这样 implies two nested loops j 0 N i
  • 使用 ping 伪随机选择的 IP 地址可以生成真正的随机数吗?

    提出的问题是在第二年的计算机科学讲座中提出的 当时讨论了在确定性计算设备中生成数字的不可能性 这是唯一不依赖于非商品级硬件的建议 随后 没有人愿意拿自己的声誉来明确支持或反对它 任何人都愿意表达支持或反对的立场 如果是这样 是否提及可能的实
  • Perl 闭包和 $_

    我尝试学习一种不熟悉的编程语言的第一件事就是它如何处理闭包 它们的语义通常与语言处理范围和其他各种棘手位的方式交织在一起 因此理解它们可以揭示该语言的其他几个方面 另外 闭包是一种非常强大的构造 并且通常会减少我必须输入的样板文件的数量 所
  • Objective C 编码指南

    有没有关于 Objective C 中的编码指南的 pdf 文件 例如 1 Breaking the function names checkIfHitTheTrack 2 member variables must be like mVa
  • 如何获取C指针数组的长度? [复制]

    这个问题在这里已经有答案了 可能的重复 函数参数中数组的长度 https stackoverflow com questions 8269048 length of array in function argument 有没有像Java c
  • 什么是 := 运算符?

    在某些编程语言中 我看到 例如 x y 这是什么 运算符通常被称为 它有什么作用 在所有支持运算符的语言中 这意味着分配 在支持运算符的语言中 the 运算符通常表示相等比较 在语言中 意味着赋值 通常用于相等比较 does mean 我不
  • C 中 (*p)[8] 和 *p[8] 有什么区别?

    两个声明如下 int p 8 int p 8 第一个是single指向 8 个整数的数组的指针 而第二个是array8 个指针 每个指针指向一个整数 如果你只是踢起来cdecl 对于这类事情来说非常棒 pax cdecl Type help
  • 您知道针对多种编程语言的快速参考指南吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我的工作过程中 我维护多种编程语言的代码 如下所列 由于我还没有掌握其中的大部分内容 所以我一直忘记
  • 设计模式作为(缺失的)语言功能

    有时人们将设计模式称为缺少的编程语言功能 为了避免关于什么是设计模式的争论 假设我们只考虑原始的 GoF 模式 例如 单例模式在 Scala 中消失了 Scala 使用关键字支持单例对象object 关于这方面的资源很少 特别是设计模式是否
  • 使用 < 有什么区别? java 泛型中的 extends SomeAbstract> 与 SomeAbstract

    我将从 DotNet 转向 java 这种扩展的想法是新的 我看过一些帖子充分解释了使用List
  • 无意中使用 = 而不是 ==

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 看起来 if x y 代替 if x y 是许多罪恶的根源 为什么不all编译器将其标记
  • 左/右旋转进位的实际用途

    循环左进位和循环右进位指令有哪些实际用途 在我的汇编课上 我们无法想出一个有用的好例子 如果要将位从一个操作数移出并移入另一个操作数 SHL EAX 1 move sign bit of EAX RCL EDX into LSB of ED
  • 如何考虑子类型的多态性

    里氏替换原则指出 超类型的不变量必须保留在子类型中 我对这个原理和多态性的交叉特别感兴趣 事实上 特别是子类型多态性 参数多态性和 Haskell 类型类似乎就是这种情况 因此 我知道当函数的参数是逆变且返回类型是协变时 函数是子类型 我们
  • 为什么乘法比除法便宜?

    我最近编写了一个 Vector 3 类 并将我的 normalize 函数提交给朋友审阅 他说这很好 但我应该尽可能乘以倒数 因为在 CPU 时间上 乘法比除法便宜 我的问题很简单 这是为什么 从硬件可以更轻松地实现的基本运算的角度来考虑
  • 为什么随机不那么随机?

    有人可以解释一下现代编程语言 java c python javascript 如何应对随机性的限制以及这些限制 例如基于时间的种子 的起源 即 如果它们是由底层操作系统和基于英特尔的硬件强加的 基本上我想了解为什么没有适当的硬件就没有真正
  • 当一种语言是另一种语言的平行超集时,这意味着什么?

    我正在阅读关于实时并发 C 的期刊文章 http link springer com article 10 1007 2FBF00365999 并且它在摘要中提到 因此你们中的任何人都可以通过该链接查看上下文 Concurrent C 是
  • 什么是异地退货?

    什么是非本地退货 什么场景下有用 请举个例子来解释一下 这是一篇好文章 http yehudakatz com 2010 02 07 the building blocks of ruby 关于在 ruby 块的上下文中使用非本地返回 Ru

随机推荐

  • 加快 write.table 的性能

    我有一个data frame我想把它写出来 我的尺寸data frame为 256 行 x 65536 列 有什么更快的替代品write csv data table fwrite 由 Otto Seiskari 贡献 提供 1 9 8 版
  • 使用另一个列表的元素名称创建空列表

    假设我们有一个列表my list a b c 我想做的是创建空列表 a b c 这样我就可以根据它们的名称向它们添加一些元素 以编程方式创建变量是一个非常糟糕的主意 使用这些名称作为键创建一个字典 my lists key for key
  • 为什么 OpenJDK 11 Java 垃圾收集器*减少*此示例程序中的可用内存?

    当我使用 OpenJDK 11 Windows 10 上的 Zulu 发行版 编译并运行以下非常简单的 Java 程序时 public class GCTest public static void main String args Sys
  • 使用 VBA 在 Excel 工作表中创建表

    我下面有这段代码 它将自动选择一个范围 有谁知道如何添加代码以在选定范围内创建表格 Thanks Sub DynamicRange Best used when first column has value on last row and
  • Windows 上的 Python 子进程输出?

    我在从子进程标准输出管道获取输出时遇到了一些困难 我正在通过它启动一些第三方代码 以提取日志输出 直到最近更新第三方代码为止 一切都工作正常 更新后 python 开始无限期地阻塞 并且实际上不显示任何输出 我可以手动启动第三方应用程序并查
  • 协方差如何比多态性更酷......并且不冗余?

    NET 4 引入了协方差 我想它是有用的 毕竟 MS 历尽千辛万苦才把它添加到 C 语言中 但是 为什么协方差比传统的多态性更有用呢 我写这个例子是为了理解为什么我应该实现协方差 但我仍然不明白 请赐教 using System using
  • gitcherry-pick多次提交[重复]

    这个问题在这里已经有答案了 可能的重复 如何挑选一系列提交并合并到另一个分支 我想从一个分支中挑选 19 个提交并将它们应用到另一个分支 所有提交都是连续的 提交 1 提交 2 提交 19 并且最后一次提交不是最近的提交 即 在其之后还有其
  • 如何使用 标签提交 POST 表单?

    我如何提交 POST 表单至showMessage jsp仅使用 a href tag a
  • 使用 onbeforeunload 时抑制确认对话框

    我正在使用 onbeforeunload 事件发送 ajax 请求来执行一些清理任务 当我使用 onbeforeunload 时 它会显示关闭选项卡时的确认对话框 我想要的不是显示任何确认对话框 而只是发送清理请求 以下是我正在使用的脚本
  • 参数变量存储在内存中的什么位置?

    我正在用 C 编写一些代码 当遇到一个方法时 我想知道参数变量存储在内存中的位置 我知道以下几点 全局变量 gt 存储在 static 的代码部分 静态变量 gt 局部自动变量 方法内部 gt 存储在堆栈中 局部静态变量 gt 存储在堆栈中
  • iOS 17 更新后 PWA 应用在 Safari 上崩溃

    我的 Angular 应用程序在 iPhone 上作为 PWA 正常工作 但在上次 ios17 更新后 该应用程序崩溃了 即使我在 Safari 上清除现金 它也可能会再次工作几分钟 然后当我关闭时 该网站的 PWA 快捷方式将停止工作苹果
  • CoreBluetooth反复断开连接

    我已经上下查找过这个问题 但似乎没有人遇到这个问题 我有两台 iPad 其中一个充当始终位于前台的蓝牙外设 由于我对中央侧更感兴趣 因此我将中央 iPad 背景设置为支持 BLE central 我的工作流程如下 中央应用程序运行并开始扫描
  • 具有 Parquet 和分区的 Spark DataFrames

    我无法找到有关此主题的太多信息 但假设我们使用数据帧读取 10 个块的 parquet 文件 spark 自然会创建 10 个分区 但是 当数据帧读入文件来处理它时 它不会处理很大的数据与分区比率 因为如果它处理未压缩的文件 块大小会更大
  • 使用 NWConnection 进行长时间运行的 TCP 套接字的正确方法

    我整天都在与 NWConnection 作斗争 以在长时间运行的 TCP 套接字上接收数据 由于缺乏文档 我在给自己造成以下错误后终于让它工作了 数据不完整 由于只调用一次receive 获取 TCP 数据无序 由于从计时器 轮询 接收 导
  • 自定义对话框片段

    我正在尝试创建一个类似于DatePickerDialog The Dialog我正在创建的应该为用户提供一系列图像供他们选择 我相信我已经成功创建了数组并向其中添加了正确的图像 我现在遇到的问题是如何获取Dialog现身 我应该返回什么 我
  • 了解 AVPlayer 对象何时准备好播放

    我正在尝试玩一个MP3传递给的文件UIView从以前的UIView 存储在NSURL fileURL多变的 我正在初始化一个AVPlayer with player AVPlayer playerWithURL fileURL NSLog
  • Angular 等待多个 http 请求完成,然后触发最后一个请求

    我有 4 个 http 请求 第三个接收查找值 而第四个接收实际表单数据 他们是这样的 let medicalData this data getCodes medical subscribe data gt console log med
  • 如何使用react-native将文件上传到服务器

    我正在开发一个应用程序 我需要将图像上传到服务器 根据图像 我得到了需要渲染的响应 你能帮我看看如何使用react native上传图片吗 React Native 内置了文件上传功能 Example来自 React Native 代码 v
  • GetCommandLine linux *true* 等效项

    与 Linux 等效的类似问题 GetCommandLine 和 CommandLineToArgv 是否有可能获得rawLinux 下的命令行 文件 proc self cmdline 被破坏 a out files file 1 fil
  • 为什么布尔变量的默认值往往为 false? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 据我所知 C VB Jav