Swift - 运算符

Swift - 运算符 首页 / Swift入门教程 / Swift - 运算符

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作, Swift包含丰富的内置运算符,并提供以下类型的运算符-

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 按位运算符
  • 范围运算符
  • 其它运算符

本教程将逐一说明算术,关系,逻辑,按位,赋值和其他运算符。

算术运算符

下表显示了Swift 4语言支持的所有算术运算符。假设变量 A =10,变量 B =20,则-

运算符说明示例
+相加 A + B=30
-相减 A - B=-10
*相乘 A * B=200
/相除 B/A=2
取模 B%A=0
++增量运算符将整数值加1 A ++=11
-减量运算符将整数值减一 A--=9
10 + 20       //equals 30  
50 - 30      //equals 20  
20 * 3      //equals 60  
10.0/2.5  //equals 4.0  

比较运算符

下表显示了Swift 4语言支持的所有关系运算符。假设变量 A =10,变量 B =20,则-

无涯教程网

运算符描述示例
==相等(A == B) is not true.
!=不相等(A != B) is true.
>大于(A > B) is not true.
<小于(A < B) is true.
>=大于或等于(A >= B) is not true.
<=小于或等于(A <= B) is true.
1 == 1  //true 因为 1 等于 1
2 != 1  //true 因为 2 不等于 1 (好像好废话....)
2 > 1   //true 因为 2 大于 1 
1 < 2   
1 >= 1  
2 <= 1  

示例

let name = "Learnfk"
if name == "Learnfk" {
    print("hello, Learnfk")
} else {
    print("I am sorry. I don't recognize you")
}
// 打印“hello, Learnfk”,因为 name 确实等于“Learnfk”。

输出

链接:https://www.learnfk.comhttps://www.learnfk.com/swift/swift-operators.html

来源:LearnFk无涯教程网

hello, Learnfk

逻辑运算符

下表显示了Swift 4语言支持的所有逻辑运算符。假设变量 A 保持1,变量 B 保持0,则-

运算符描述示例
&&逻辑AND(A && B) is false.
||逻辑OR(A || B) is true.
!逻辑非!(A && B) is true.

按位运算符

按位运算符对位进行运算并执行逐位运算。&,|和^的真值表如下-

pqp&qp|qp^q
00000
01011
11110
10011
Assume A=60; and B=13;

In binary format, they will be as follows:

A=0011 1100

B=0000 1101

-----------------

A & B=0000 1100

A|B=0011 1101

A^B=0011 0001

~A=1100 0011

下表列出了Swift 4语言支持的按位运算符。假设变量 A =60,变量 B =13,则7-

运算符描述示例
&按位 AND(A & B)=12, which is 0000 1100
|按位 OR(A | B)=61, which is 0011 1101
^按位 XOR (A ^ B)=49, which is 0011 0001
~按位 非(~A )=-61, which is 1100 0011 in 2's complement form.
<<左移,左移一位乘以2(A << 2=240, which is 1111 0000
>>右移,右移一位除以2A >> 2=15, which is 0000 1111

范围运算符

Swift 4包含两个范围运算符,它们是表示一系列值的快捷方式。下表说明了这两个运算符。

运算符描述示例
Closed Range(a ... b)定义了一个从a到b的范围,并包括值a和b。1...5 gives 1, 2, 3, 4 and 5
Half-Open Range(a .. <b)定义了从a到b的范围,但不包括b。1..< 5 gives 1, 2, 3, and 4
One- sided Range

a…,定义了一个范围,从a到element的结尾

…a,定义了从开始到a的范围

1…给出1,2,3…元素的结尾

…2开始…至1,2

示例

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

Output:

1 times 5 is 5
2 times 5 is 10
3 times 5 is 15
4 times 5 is 20
5 times 5 is 25
6 times 5 is 30
7 times 5 is 35
8 times 5 is 40
9 times 5 is 45
10 times 5 is 50

其它运算符

Swift 4支持其他一些重要的运算符,包括 range 和? :如下表所述。

运算符描述示例
三元条件条件? X:Y如果条件为true?然后取值X:否则取值Y

运算符优先级

在这里,优先级最高的运算符出现在表格的顶部,而优先级最低的运算符出现在表格的底部。在表达式中,优先级较高的运算符将首先被判断。

运算符描述示例
Primary Expression Operators() [] . expr++ expr--left-to-right
Unary Operators

* & + - ! ~ ++expr --expr

*/%

+ -

>> <<

< > <= >=

== !=

right-to-left
Binary Operators

&

^

|

&&

||

left-to-right
Ternary Operator?:right-to-left
Assignment Operators= += -= *= /= %= >>= <<= &=^= |=right-to-left
Comma,left-to-right

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入浅出gRPC -〔李林锋〕

微服务架构实战160讲 -〔杨波〕

Elasticsearch核心技术与实战 -〔阮一鸣〕

Vim 实用技巧必知必会 -〔吴咏炜〕

成为AI产品经理 -〔刘海丰〕

性能优化高手课 -〔尉刚强〕

林外 · 专利写作第一课 -〔林外〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

AI 应用实战课 -〔黄佳〕

好记忆不如烂笔头。留下您的足迹吧 :)