運算符
運算符是數學符號加減乘除以及賦值號(+ - * / =)
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是一個字符串數組
創(chuàng)建數組
如果希望數組內可以存放各種類型的數據,使用Any數據類型即可:
var nums: [Any] = [1,2,3,"a",[1]] // 推斷 [Int]
使用類型注釋明確想要創(chuàng)建一個Int類型數組,并且創(chuàng)建一個空的數組:
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() { // 循環(huán)nums的下標和元素
print(index,item)
}