Swift学习之九:基本运行符(Basic Operators)

简介:

基本运行符:

+(加法、正数)

- (减法、负数)

*  (乘法)

/ (除法)

% (求余)  : 在Swift中,求余可以是浮点数求余。

&&(逻辑与) 

|| (逻辑或)

^ (逻辑异或) 

表示范围的符号:..和...(两个点:不包括下界和三个点包括下界)

++,

--


赋值操作符

// 赋值操作符=,表示把某个值赋给对应的常量或者变量
let b = 10
var a = 5

如果右边的赋值是一个元组,那么可以分解成多个常量或者变量:

// x = 1, y = 2
let (x, y) = (1, 2)

在swift中,赋值语句不会以返回值,与C和OC是不同的。下面的写法是不对的:

if x = y {
 // Error,因为赋值语句不会返回值
// x的值变为y的值,但是x是整型,不是Bool型
}
但是呢,swift在我们写x = y时会主动提示 == 而不是=


算术运行符

1 + 2 // 3
5 - 3 // 2
2 * 3 // 6
10.0 / 2.5 // 4.0

与C和OC中的算术运算符不一样,Swift中的算术运算术默认是不允许溢出的。

如果想要得到溢出的值,那么可以使用溢出操作符,如a &+ b等。

下面的加法是对字符串的,是执行字符串连接:

"hello, " + "world"


两个Character值或者一个是Character值,另一个是String类型,可以相加形成字符串:

let dog: Character = "D"
let cow: Character = "C"
let dogCow = dog + cow


求余运算符

在swift中,求余可以是浮点数。

如:

// 9 = 2 * 4 + 1
9 % 4 // 1 

在计算余数时,计算公式是这样的:

a = (b * some multiplier) + remainder

看下面的例子:

// -9 = (-2 * 4) + (-1)
-9 % 4 // -1

// -9 = (2 * -4) + (-1)
-9 % -4 // -1


// 9 = (-2 * -4) + 1
9 % -4 // 1

结论:所以求余的结果是正数还是负数,就看第一个操作数是不是正数。如果第一个操作数是负数,那么余数是负数,否则是正数
浮点数求余

// 8 = (3 * 2.5) + 0.5
8 % 2.5 // 0.5

自增、自减运算符
与C、OC中的自增版头运算符一样

var i = 0
j = ++i  // i = 1, j = 1

var i = 0
j = i++ // i = 1, j = 0

var i = 1
j = i-- // i = 0, j = 1

var i = 1
j = --i // i = 0, j = 0 


比较运算符

1 == 1 // true
2 != 1 // true
2 > 1 // true
1 > 2 // false

 
let name = "world"
if name == "world" {
    println("hello, world")
}


三元运算符

三元运行符是  ? :

如:

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)

范围运算符
在swift中提供了两种范围运算符,a..b和a...b,前者不包含b,后者包含b

如:

// 打印出12
for index in 1..3 {
  print("\(index)") 
}

// 打印出123
for index in 1...3 {
  print("\(index)") 
}




目录
相关文章
|
编译器 Swift iOS开发
44 Swift和Objective-C的运行时简介
Swift和Objective-C的运行时简介
104 0
|
7月前
|
人工智能 物联网 API
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
LLM 大模型学习必知必会系列(十三):基于SWIFT的VLLM推理加速与部署实战
|
Swift
(一)swift的基本学习
(一)swift的基本学习
181 0
|
开发工具 Swift iOS开发
Swift学习第二练——Swift项目时光电影
Swift学习第二练——Swift项目时光电影
164 0
Swift学习第二练——Swift项目时光电影
|
Swift 开发者 iOS开发
Swift学习第一练——用Swift实现的FlappyBird小游戏
Swift学习第一练——用Swift实现的FlappyBird小游戏
195 0
Swift学习第一练——用Swift实现的FlappyBird小游戏
|
JavaScript Java iOS开发
1.Swift学习之介绍
简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 Mac OS 和 iOS 应用程序 Apple WWDC 2014 横空出世 Swift 历史 2010 年 7 月,苹果开发者工具部门总监 Chris Lattner...
1183 0
|
Swift C语言
2.Swift学习之初探
Playground是什么? 从Xcode6开始出现(Swift开始出现) 翻译为:操场/游乐场 对于学习Swift基本语法非常方便 所见即所得(快速查看结果) 语法特性发生改变时,可以快速查看 Playground Swift最...
858 0
|
iOS开发
Swift学习第十三枪-使用Swift开发IOS中蓝牙4.0的开发流程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
1064 0
|
数据库 iOS开发 数据库管理
Swift学习第十二枪----移动数据库王者Realm入门教程
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/51636392 今天给大家带来的是堪称是一个可以替代SQLite,Core Data 的以及ORMlibraries的轻量级数据库—Realm移动端数据库。
957 0
|
JSON 数据格式 iOS开发
Swift学习第十枪-AFNetwoking3.0的封装
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010046908/article/details/51588829 下面是我的新建的Swift学习交流群,欢迎大家一起来共同学习Swift。
832 0