跳转到内容

编程基础/如果然后否则

来自维基教科书,开放书籍,开放世界

if-then-else 结构,有时被称为 if-then,是一种在许多编程语言中常见的双向选择结构。虽然语法因语言而异,但基本结构看起来像:[1]

If (boolean condition) Then
    (consequent)
Else
    (alternative)
End If

"if then else" 控制结构,来自选择类别,在每种高级语言中都可用。该结构通过询问一个有真或假答案的问题来控制。回顾下面的例子

if the answer to the question is true
    then do this
else because it is false
    do this

在大多数语言中,问题(称为测试表达式)是一个布尔表达式。布尔数据类型有两个值 - 真和假。让我们重写结构来考虑这一点

if expression is true
    then do this
else because it is false
    do this

一些语言使用保留字:“if”,“then” 和“else”。许多人消除了“then”。此外,“做这个” 可以与真和假绑定。你可能会看到它写成

if expression is true
    action true
else
    action false

大多数语言推断“是真”,你可能会看到它写成

if expression
    action true
else
    action false

以上四种控制结构形式表达的是同一个意思。在我们的英语中,else 这个词经常不使用。然而,请考虑以下母子之间的对话。

孩子问:“妈妈,我可以出去玩吗?”

妈妈回答:“如果你的房间干净,你就可以出去玩,否则你必须坐在椅子上五分钟,因为你明知道房间脏还问我这个问题,这是对你的惩罚。”

让我们注意,所有元素都存在,以确定孩子将执行的动作(或流程)。因为问题(你的房间是否干净)只有两个可能的答案(真或假),所以动作是互斥的。孩子要么 1) 出去玩,要么 2) 坐在椅子上五分钟。其中一个动作会被执行,永远不会同时执行两个动作。

一种选择 - 隐含的双向选择

[编辑 | 编辑源代码]

程序员通常只想在表达式为真时执行某些操作,也就是说没有假的操作。没有假的操作也被称为“空 else”,可以写成

if expression
    action true 
else 
    do nothing

因为“else 什么都不做”是隐含的,所以它通常以简短形式写成

if expression
    action true

关键词

[编辑 | 编辑源代码]
if then else
一种双向选择控制结构。
互斥
不重叠的项目。例如:真或假。

参考文献

[编辑 | 编辑源代码]
华夏公益教科书