首页 > 其他分享 >无涯教程-Swift - 运算符

无涯教程-Swift - 运算符

时间:2024-01-28 17:31:46浏览次数:26  
标签:示例 Swift 无涯 times 运算符 按位 true

运算符是一个符号,告诉编译器执行特定的数学或逻辑操作, 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”。

输出

hello, Learnfk

逻辑运算符

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

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

按位运算符

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

p q p&q p|q p^q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1
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
>> 右移,右移一位除以2 A >> 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

参考链接

https://www.learnfk.com/swift/swift-operators.html

标签:示例,Swift,无涯,times,运算符,按位,true
From: https://blog.51cto.com/u_14033984/9453619

相关文章

  • (20)Powershell中的特殊运算符
    (20)Powershell中的特殊运算符Powershell中除了常见的算术运算符,赋值运算符,比较运算符,位运算符,逻辑运算符,字符串的拆分和合并运算符,转义字符,还有一些特殊的运算符,这些特殊的运算符往往可以解决一些特殊的问题,比如执行运行命令,更改值的数据类型等。1.&(调用运算符)使用&(......
  • 无涯教程-Swift - 常量
    常数是指程序在执行过程中不得更改的固定值,常量可以是任何基本数据类型,如整数常量,浮点常量,字符常量或字符串文字,还有枚举常量。常量与常规变量一样,只是其值在定义后不能修改。常量声明使用常量之前,必须使用let关键字声明它们,如下所示:letconstantName=<initialvalue>以......
  • 无涯教程-Swift - 元组(Tuples)
    Swift4还引入了Tuples元组类型,该类型用于将多个值组合在单个复合值中,元组中的值可以是任何类型,并且不必是同一类型。如,("LearnFK",123)是一个具有两个值的元组,一个值是字符串Type,另一个是整数类型。这是元组声明的语法-varTupleName=(Value1,value2,…anynumberofval......
  • 无涯教程-Swift - 可选项
    Swift4还引入了Optionals类型,用于处理缺少值的情况,可选的选项是"有一个值,它等于x"或"根本没有值"。Optional是一种类型,实际上是Swift4的新函数枚举之一,它有两个可能的值,None和Some(T),其中T是Swift4中可用的正确数据类型关联值。这是一个可选的Integer整数声明-varper......
  • 无涯教程-Swift - 变量声明
    变量为我们提供了程序可以操纵的命名存储,Swift4中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。Swift4支持以下基本类型的变量-Int或UInt  - 用于整数。更具体地说,可以使用Int32,Int64定义32或64位有符号整数,而UInt32或UInt64定义32或64位无符号整数......
  • 无涯教程-Swift - 环境
    Swift4为学习目的提供了一个运行平台,我们将对其进行设置。您需要xCode软件才能在运行中启动Swift4编码。一旦熟悉了Swift4的概念,就可以使用xCodeIDE进行iOS/OSx应用程序开发。首先,我们认为您已经在AppleDeveloper网站上拥有一个帐户。登录后,请转到以下链接-Downloadf......
  • 无涯教程-Socket.IO - 聊天示例
    现在我们已经很熟悉Socket.IO,让我们编写一个聊天应用程序,可以在不同的聊天室中使用它进行聊天,我们将允许用户选择用户名,并允许他们使用他们聊天。因此,首先,让我们设置HTML文件以请求用户名-<!DOCTYPEhtml><html><head><title>HelloLearnfk</title></head><......
  • 无涯教程-Swift - 简介
    Swift编程语言,支持多编程范式和编译式,用来撰写基于macOS/OSX、iOS、iPadOS、watchOS和tvOS的软件。苹果公司于2014年在苹果开发者年会(WWDC)发布了Swift编程语言。从设计上苹果公司让Swift与Objective-C共存在苹果公司的操作系统上。2010年7月,苹果开发者工具部门总监克里斯·......
  • 无涯教程-Socket.IO - 命名空间
    Socket.IO允许您"Namespaces命名"Socket,这实际上意味着分配不同的端点。这是一项有用的函数,可通过在通信通道之间引入分隔来最大程度地减少资源(TCP连接)的数量,并同时在您的应用程序内分隔关注点。多个命名空间实际上共享同一WebSockets连接,从而为我们节省了服务器上的Socket端口......
  • 无涯教程-Socket.IO - 广播服务
    Broadcasting意味着向所有连接的客户端发送消息,我们可以将消息发送给所有连接的客户端,我们可以使用io.sockets.emit方法。注意-这将向所有连接的客户端ALL发出事件(该事件可能触发了此事件的Socket)。在此示例中,我们将向所有用户广播已连接客户端的数量。更新app.js文件......