加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift教程(二)

发布时间:2020-12-14 01:58:06 所属栏目:百科 来源:网络整理
导读:基本运算符 术语 运算符有一元、二元、三元运算符。 受运算符影响的值叫做操作数。 赋值运算符 let b = 10 var a = 5 a = b // a现在等于10 如果赋值的右边是一个多元组,它的元素可以马上被分解多个常量或变量: let (x,y) = ( 1 , 2 ) // 现在x等于1,y等

基本运算符

术语

运算符有一元、二元、三元运算符。
受运算符影响的值叫做操作数。

赋值运算符

let b = 10
var a = 5
a = b
// a现在等于10

如果赋值的右边是一个多元组,它的元素可以马上被分解多个常量或变量:

let (x,y) = (1,2)
// 现在x等于1,y等于2

与C语言和Objective-C不同,Swift的赋值操作并不返回任何值。所以以下代码是错误的:

if x = y {
    //此句错误,因为x = y并不返回任何值
}

算术运算符

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

加法运算符也可用于String的拼接:

"hello," + "world"  //等于 "hello,world"

求余运算符

9 % 4  //等于1
-9 % 4 //等于-1

浮点数求余计算

8 % 2.5   //等于0.5

自增和字减运算

var i = 0
++i //现在 i = 1
  • ++前置的时候,先自增再返回。
  • ++后置的时候,先返回再自增。
var a = 0
let b = ++a  //a 和 b 现在都是1
let c = a++  //a 现在是2,但 c 是 a 自增前的值1

一元负号运算符

let three = 3
let minusThree = -three //minusThree 等于 -3
let plusThree = -minusThree //plus等于3

一元正号运算符

let minusSix = -6
let alsoMinusSix = +minusSix //alsoMinusSix等于-6

组合赋值运算符

var a = 1
a += 2  //a现在是3

比较运算符

  • 等于 (a == b)
  • 不等于 (a != b)
  • 大于 (a > b)
  • 小于 (a < b)
  • 大于等于 (a >= b)
  • 小于等于 (a <= b)
    比较运算符多用于条件语句,如if条件:
let name = "world"
if name == "world" {
    println("hello,world")
} else {
    println("I'm sorry (name),but I don't recognize you")
}
// 输出 "hello,world"

三目运算符

三目运算符是以下代码的缩写形式:

if question { answer1 } else { answer2 }

一个计算表格行高的例子:如果有表头,那行高应比内容高度高出50像素;如果没有表头,只需高出20像素。

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight现在是90

空合并运算符

空合并运算符(a ?? b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b
这个运算符有两个条件:

  • 表达式a必须是可选类型
  • 默认值b的类型必须要和a存储值得类型保持一致
    空合并运算符是对以下代码的简短表达方法:
a != nil ? a! : b

区间运算符

闭区间运算符

闭区间运算符(a...b)定义一个包含从a到b的所有值得区间,b必须大于a。闭区间运算符在迭代一个区间的所有值时非常有用。

for index in 1...5 {
    println("(index) * 5 = (index * 5)")
}
//1 * 5 = 5
//2 * 5 = 10
//3 * 5 = 15
//4 * 5 = 50
//5 * 5 = 25

半开区间运算符

半开区间(a..<b)定义一个从a到b但不包括b的区间。

let names = ["Anna","Alex","Brian","Jack"]
let count = names.count
for i in 0..<count {
    println("第(i + 1)个人叫(names[i])")
}
//第1个人叫Anna
//第2个人叫Alex
//第3个人叫Brian
//第4个人叫Jack

逻辑运算符

逻辑运算的操作对象是逻辑布尔值。Swift支持三个标准逻辑运算。

  • 逻辑非(!a)
  • 逻辑与(a && b)
  • 逻辑或(a || b)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读