Swift - Day2

运算符

运算符是数学符号加减乘除以及赋值号(+ - * / =)

let a = 2
a + 2
a - 2
a * 2
a / 2
a % 2
a += 2
a -= 2
a *= 2
a /= 2 

逻辑运算符

比较运算符只能返回布尔值,比较两个数是否相同,需要使用等于号(==),可以使用!=符号来表示“不等于”

a = 8
a == 2 // false 
a != 2 // ture
a > 2
a >= 2
a < 2
a <= 2

&& 且 相当于and

|| 或 相当于or

! 逻辑非

a = 6
if a > 5 && a < 10 {
print(1)
}else if a < 1 || a > 11 {
print(2)
}else {
print(3)
}  

空值

nil

var m : Int? = nil
print(m ?? -1) // 如果m的值是nil 等于给m一个默认值 -1
m = 2
print(m!) // 强制解包 告诉编译器m不为空,一定有值,如果值为nil,程序会报错
if let a = m {
print("m不为空\(a)")
}else{
print("m为空值")
} 

三目运算符

问题?答案1:答案2

a = 6
a > 2 ?  "yes":"no" //如果a>2为true 结果就是yes

数组

数组是一堆值的合集,可以按照在集合内的位置访问每个值。

var nums: [Any] = [1,2,3,"a",[1]] // 推断 [Int]
nums[0]
nums[1]
nums[2]

可以使用代码查看任意变量的数据类型:

var songs = ["园游会","晴天","爱在西元前"]
type(of:nums)

结果会显示Array<String>.type,表示songs是一个字符串数组

创建数组

如果希望数组内可以存放各种类型的数据,使用Any数据类型即可:

var nums: [Any] = [1,2,3,"a",[1]] // 推断 [Int]

使用类型注释明确想要创建一个Int类型数组,并且创建一个空的数组:

var nums1 = [Int]()
var nums2: [Int] = [1]
var nums3: [[Int]] = [[1,2],[2,3,4],[2]]
let ncount = nums3.count
nums.append("small") //在数组后边加上一个字符串
nums.insert("a",at: 3) //在这个数组的第四个位置添加"a"
nums.remove(at: 2) //移除第三个元素
for (index,item) in nums.enumerated() { // 循环nums的下标和元素
print(index,item) 
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 2,841评论 2 9
  • swift社区:http://www.swift51.com[http://www.swift51.com](开源...
    白水灬煮一切阅读 1,977评论 6 6
  • 赋值和算术运算符 基本概念 一元运算符对一个目标进行操作。一元前缀运算符(如 !b),一元后缀运算符(b!)。 二...
    迷心迷阅读 507评论 0 0
  • day one 依赖倒转原则(面向协议编程) 声明变量的类型时应该尽可能使用协议类型 声明方法参数类型时应该尽可能...
    saman0阅读 381评论 0 0
  • 语言基础 程序是指令的集合,写程序就是写一系列的指令去控制计算机做我们想做的事情。编译:将程序设计语言转换成计算机...
    桧霖阅读 795评论 0 15