基本的控制流(比较运算符)

小橘子成长记2020-10-16 16:26:20

在编写计算机程序时,你需要告诉计算机在不同的场景中应该做什么。例如,在一个计算器应用程序中,如果用户点击添加按钮,需要去做一件事,如果用户点击删除按钮,需要做另外一件事。

 

在计算机编程术语中,这个概念称为控制流。它之所以叫控制流是因为程序的流程是由各种方法控制的。在本章中,你将学习通过使用语法控制流在程序中进行决策和重复任务。你还将了解布尔值,它表示true和false值,以及如何使用这些值来比较数据。


比较运算符


现在你已经看到了一些类型,例如Int、Double和String。在这里,你将了解另一种类型,它将让你通过比较操作符来比较值。


当你进行比较的时候,比如寻找两个数字的较大值,答案要么是正确的,要么是错误的。Swift有一个数据类型它被称为Bool,它是布尔的缩写,一个相当聪明的人叫George Boole,他发明了于真与假概念。


这就是如何在Swift中使用布尔值:


由于Swift的类型推断,你可以忽略类型注释:

布尔值只能为真或假,由关键字true或false表示。在上面的代码中,你使用关键字来设置每个常量的状态。


布尔操作符


布尔值通常用来比较值。例如,你可能有两个值,你想知道它们是否相等:它们是(true)还是(false)。

在Swift中,你可以使用等号操作符来实现这一点,该操作符是==:


Swift 推断出doesOneEqualTwo bool类型。显然,1不等于2,所以1等于2false

类似地,你可以发现两个值是否相等,使用!=操作符:


这一次,比较是true,因为1不等于2,所以onenotequal2是正确的。

前缀!操作符,也称为非运算符,使真为假,假为真。另一种写法是:


因为1不等于2,(1 == 2)是假的,然后!翻转它为真。

另外两个操作符让你确定一个值是否大于(>)或小于(<)另一个值。你可能从数学中知道这些:


还有一个操作符可以让你测试一个值是否小于或等于另一个值:<=。它是<和==的组合,因此如果第一个值小于第二个值或等于它,则返回true。


类似地,有一个操作符可以让你测试一个值是否大于或等于。另一个操作你可能已经猜到是>=。


布尔逻辑


上面的每个示例只测试一个条件。而布尔发明了布尔逻辑,它让你结合多种条件来形成结果。


组合条件的一种方法是使用和。当你和两个布尔值一起时,结果是另一个布尔值。如果两个输入布尔值都为真,则结果为真。否则,结果是假的。

在Swift中,布尔值和的运算符是&&,使用如下:

在这种情况下,是true。如果右边的任何一个值都是假的,那么就会是假的。


另一种结合条件的方法是使用或。当你或组合两个布尔值时,如果任一输入布尔值都为真,则结果为真。只有输入的布尔值都为假时,结果为假。


在Swift中,布尔值或||的运算符是这样使用的:

在这种情况下,或将为真。如果右边的两个值都是假的,那么值为假的。如果两者都是正确的,那么或者仍然是正确的。


在Swift中,布尔逻辑通常用于多个条件。也许你想确定两个条件是否正确;在这种情况下,你会使用和。如果你只关心两个条件中的一个是真的,那么你就会用或。


例如,思考以下代码:


每一种测试都有两种不同的条件,使用和或者或将它们结合在一起。


也可以使用布尔逻辑来组合两个以上的比较。例如,你可以这样做一个复杂的比较:

括号消除了表达式的歧义。在括号内,首先快速评估子表达式,然后它计算完整表达式,按照以下步骤:


字符串相等


有时你想确定两个字符串是否相等。例如,孩子们在照片中给动物命名的游戏,需要确定玩家的回答是否正确。

 

在Swift中,你可以使用标准的等式操作符==来比较字符串,这与比较数字的方式完全相同。例如:


这里,dogEqualsCat是一个布尔值,在这个例子中等于false,因为“dog”不等于“cat”。


就像数字一样,你不仅可以比较相等,还可以比较大小。一个值大于或小于另一个值。例如:

这个语法检查一个字符串是否按字母顺序出现。在这种情况下,order为true

因为“cat”出现在“dog”之前。



翻译 小橘子成长记

获取更多swift相关知识,关注公众号 小橘子成长记