iOS Swift逻辑运算符示例总结

 更新时间:2021年10月13日 16:01:21   作者:一眼万年的星空  
运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算,下面这篇文章主要给大家介绍了关于iOS Swift逻辑运算符的相关资料,需要的朋友可以参考下

运算符分类

从操作数角度看:运算符包括一元、二元、三元。这里的一二三指操作数的数量,操作数指的是被操作的数值。

从运算符位置看:运算符分为前缀、中缀、后缀。例如:!b, b + c, c!

赋值运算符

赋值运算符( a = b )可以初始化或者更新 a  为 b  的值:

如果赋值符号右侧是拥有多个值的元组,它的元素将会一次性地拆分成常量或者变量:

let (x, y) = (1, 2)
// x 等于 1, 同时 y 等于 2

与 Objective-C 和 C 不同,Swift 的赋值符号自身不会返回值。下面的语句是不合法的:

if x = y {
    // 这是不合法的, 因为 x = y 并不会返回任何值。
}

这个特性避免了赋值符号 (=) 被意外地用于等于符号 (==) 的实际意图上。Swift 通过让 if x = y  非法来帮助你避免这类的错误在你的代码中出现。

算数运算符

  • 加 ( + ),:作为中缀,表示两个数值相加,如果是字符串,表示字符串拼接;作为前缀,表示正数,数值不变
  • 减 ( - ): 作为中缀,表示两个数值相减;作为前缀,表示负数
  • 乘 ( * )
  • 除 ( / )
  • 取余(%):余数运算符( a % b )可以求出多少个 b  的倍数能够刚好放进 a  中并且返回剩下的值(就是我们所谓的余数)。9 % 4 = 1, 因为 4 * 2 + 1 = 9 

组合运算符

+= 、 -= 、/= 、*=

var a = 1
a += 2

表达式  a += 2 其实就是 a = a + 2  的简写。效率上来讲,加号和赋值符号组合成的一个运算符能够同时进行这两个操作。

比较运算符

下面是常规的比较运算符:

  • 相等 ( a == b )
  • 不相等 ( a != b )
  • 大于 ( a > b )
  • 小于 ( a < b )
  • 大于等于 ( a >= b )
  • 小于等于 ( a <= b )

也可以用在相同数量的元组中, 元组以从左到右的顺序比较大小,一次一个值,直到找到两个不相等的值为止。如果所有的值都是相等的,那么就认为元组本身是相等的。

Swift 标准库包含的元组比较运算符仅支持小于七个元素的元组。要比较拥有七个或者更多元素的元组,你必须自己实现比较运算符。

(1, "zebra") < (2, "apple")   // true because 1 is less than 2
(3, "apple") < (3, "bird")    // true because 3 is equal to 3, and "apple" is less than "bird"
(4, "dog") == (4, "dog")      // true because 4 is equal to 4, and "dog" is equal to "dog"
 

三目运算符

三元条件运算符是一种有三部分的特殊运算,它看起来是这样的: question ? answer1 : answer2  。这是一种基于 question  是真还是假来选择两个表达式之一的便捷写法。

三元条件运算符提供了一个非常有效的简写来决策要两个表达式之间选哪个。总之,使用三元条件运算符要小心。它的简洁性会导致你代码重用的时候失去易读的特性。避免把多个三元条件运算符组合到一句代码当中。

合并空值运算符

合并空值运算符 ( a ?? b )如果可选项 a  有值则展开,如果没有值,是 nil  ,则返回默认值 b 。表达式 a 必须是一个可选类型。表达式 b  必须与 a  的储存类型相同。

合并空值运算符是下边代码的缩写:

a != nil ? a! : b
 

区间运算符

闭区间运算符( a...b )定义了从 a  到 b  的一组范围,并且包含 a  和 b  。 a  的值不能大于 b 。

for index in 1...5 {
    print("\(index) times 5 is \(index * 5)")
}

半开区间运算符( a..<b )定义了从 a  到 b  但不包括 b  的区间,即 半开 ,因为它只包含起始值但并不包含结束值

单侧区间:有另外一种形式来让区间朝一个方向尽可能的远。比如说,一个包含数组所有元素的区间,从索引 2 到数组的结束。在这种情况下,你可以省略区间运算符一侧的值。因为运算符只有一侧有值,所以这种区间叫做单侧区间。闭区间和半开区间都有单侧区间的形式。比如说:

let names = ["Anna", "Alex", "Brian", "Jack"]
 
for name in names[2...] {
    print(name)
}
// Brian
// Jack
  
for name in names[...2] {
    print(name)
}
// Anna
// Alex
// Brian
 
for name in names[..<2] {
    print(name)
}
// Anna
// Alex

逻辑运算符

  • 逻辑 非  ( !a ):取反
  • 逻辑 与  ( a && b ) :短路与。如果第一个值是 false  ,那么第二个值就会被忽略掉了,因为它已经无法让整个表达式再成为 true  。这就是所谓的 短路计算
  • 逻辑 或  ( a || b ):短路或。如果逻辑或运算符左侧的表达式为 true  ,那么右侧则不予考虑了,因为它不会影响到整个逻辑表达式的结果。
  • Swift 语言中逻辑运算符 && 和 || 是左相关的,这意味着多个逻辑运算符组合的表达式会首先计算最左边的子表达式。

总结

到此这篇关于iOS Swift逻辑运算符的文章就介绍到这了,更多相关iOS Swift逻辑运算符内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解iOS中UIView的layoutSubviews子视图布局方法使用

    详解iOS中UIView的layoutSubviews子视图布局方法使用

    这篇文章主要介绍了iOS中UIView的layoutSubviews子视图布局方法使用,文中举了一个layoutSubviews在iPad横竖屏切换时被调用用来重新布局的实例,需要的朋友可以参考下
    2016-04-04
  • ios基础教程之常见的数组使用方法

    ios基础教程之常见的数组使用方法

    这篇文章主要给大家介绍了关于ios基础教程之常见的数组使用方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • iOS中UIWebView网页加载组件的基础及使用技巧实例

    iOS中UIWebView网页加载组件的基础及使用技巧实例

    UIWebView是开发中很常用的应用内调用网页浏览的控件,这里整理了一些iOS中UIWebView网页加载组件的基础及使用技巧实例 ,需要的朋友可以参考下
    2016-06-06
  • iOS开发教程之APP内部切换语言的实现方法

    iOS开发教程之APP内部切换语言的实现方法

    这篇文章主要给大家介绍了关于iOS开发教程之APP内部切换语言的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • iOS三级联动选择器的实现代码示例

    iOS三级联动选择器的实现代码示例

    本篇文章主要介绍了iOS三级联动选择器的实现代码示例,这里整理了详细的代码,有需要的小伙伴可以参考下
    2017-09-09
  • 谈谈为何iOS开发别用宏来定义常量

    谈谈为何iOS开发别用宏来定义常量

    最近在工程里看到很多不规范的使用,于是来写一篇博客来让不是很清楚的小朋友们,使用正确的规范开发ios,少埋点坑。
    2016-08-08
  • iOS11上Xcode9 AppIcon 图标不显示

    iOS11上Xcode9 AppIcon 图标不显示

    升级到iOS11系统下自己的项目桌面app图标不见了,是什么原因呢,经过一番查找,终于发现问题所在,现在分享给大家
    2017-11-11
  • iOS之Https自签名证书认证及数据请求的封装原理

    iOS之Https自签名证书认证及数据请求的封装原理

    本篇文章主要介绍了iOS之Https自签名证书认证及数据请求的封装原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-02-02
  • iOS实现滚动字幕的动画特效

    iOS实现滚动字幕的动画特效

    这篇文章给大家带来一款应用非常实用的控件,滚动字幕,可以应用在新闻、财经、聊天等各类APP上,B格瞬间提升了一个档次有木有,下面跟着小编一起看看如何实现的吧。
    2016-09-09
  • 基于UIControl控件实现ios点赞功能

    基于UIControl控件实现ios点赞功能

    在开发当中,可能很多时候都需要做个点赞的需求,如果用按钮实现,按钮作为一个系统复合控件,外部是一个 View--》UIControl的容器,本文给大家分享一个基于UIControl控件实现ios点赞功能,需要的朋友可以参考下
    2015-09-09

最新评论