1、什麼是Swift? Swift是2014年WWDC發佈的一款腳本語言,它使沒有main函數的
2、使用Swift的好處:1⃣️ 在OC 中,ARC 最大的困難就是內存管理,而swift 不用擔心內存方面它很簡潔,功能很強大,但是swift也有弱點,它的安全度不高,沒有.h.m文件
2⃣️ swift 的語法簡單 與OC語言可以相互調用
3、在使用swift 的時候,一行代碼結束後不需要加上分號(;符號),但是同一行有兩句代碼的時候,中間是必須加上分號的
4、定義常量,變量
1⃣️、let 修飾的是常量,常量不允許改變
let 常量1 = 30
let 常量2 = 40 ; let 常量3 = 60
2⃣️、var 定義的變量
var myVar1 = "hello"
var myVar2 = " "
var myVar3 = "world"
var total = myVar1 + myVar2 + myVar3
print(total)
3⃣️、swift 中的輸出
\() 會自動給你計算出()裏面相應的值
<span style="font-size:14px;color:#333333;">print(" this is guiyang", terminator: "")
print( " 常量1 = \(常量1)", terminator: "")
print(常量1, terminator: "")</span>
5、在swift 中變量或者是常量的命名規則
1>、不能有數學符號(比如說 + *等)
2>、不能包含箭頭
3>、不能有無效非法的非編碼字符
4>、不能包含橫線,指標符(my—name)
5>、不能有關鍵字(let、var)
6>、不能以數字開頭
7>、不能單獨只有一個下劃線(var —)
小練習
自己定義三個變量。定義的第四個變量=前三個變量相加,並打印第四個變量
<span style="color:#333333;">var myVar1 = "hello"
var myVar2 = " "
var myVar3 = "world"
var total = myVar1 + myVar2 + myVar3
print(total)</span>
var myVar1 = "hello" //myVar1 他是一個String 類型的變量
var num = 23 num 系統就會默認爲一個Int類型的變量
var num1 = 23.0 num1 系統就會默認爲一個Double類型的變量
顯式變量
var myVar1 : String = "hello"
var num : Double = 23.0
通過上面的定義方法相信大家會更容易的理解隱式聲明和顯式聲明之間的區別。
7、swift 中的數組和字典的學習
1⃣️、數組
<span style="font-size:14px;"><span style="color:#33cc00;">//定義一個數組</span>
var shopList = ["橘子","香蕉","茄子"]</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">//求數組裏面元素的個數</span>
var count = shopList.count</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">// 檢查數組是否爲空的一個屬性 ,isEmpty屬性</span>
if shopList.isEmpty
{
print("數組爲空", terminator: "")
}
else
{
print("數組不爲空", terminator: "")
}</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">//往數組末尾添加一個元素 。append 方法</span>
shopList.append("辣椒")</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">//在數組指定索引處插入元素</span>
shopList.insert("獼猴桃", atIndex: 1)
print(shopList, terminator: "")</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">//通過索引刪除元素</span>
shopList.removeAtIndex(2)
print(shopList, terminator: "")</span>
<span style="font-size:14px;">
<span style="color:#33cc00;">//數組的遍歷,(迭代訪問 for...in)</span>
for var 遍歷 in shopList
{
print(遍歷)
}
for index in 1...5{
print(index, terminator: "")
}</span>
<span style="font-size:14px;">
<span style="color:#33ff33;">//生成若干個重複元素組成的數組。</span>
var threeDoubles = [Double](count :3,repeatedValue :2.5)
print(threeDoubles, terminator: "")</span><span style="font-size:12px;">
</span>
2⃣️、字典
<span style="font-size:14px;"><span style="color:#33cc00;">// 定義一個字典, value設置成數組的時候取所有的key時,不能用dic.keys .而是要用 dic.allkeys.並且不能改變value。 爲什麼?</span><span style="font-family:Heiti SC Light;">
var dic = ["name":shopList,"age":18,"sex":"男"]
print(dic, terminator: "")</span></span>
<span style="color:#33cc00;">//取到所有的key </span>
var allkeys = Array(dic.allKeys)
print(allkeys, terminator: "")
<span style="color:#33cc00;">//取到所有的value</span>
var allValues = Array (dic.allKeys)
print(allValues, terminator: "")
<span style="color:#33cc00;">//顯式定義 一個空的數組和字典</span>
var emptyArr = [Int]()
emptyArr.insert(12, atIndex: 0)
var emptyDic = [String:Double]()
emptyDic["age"] = 18
print(emptyDic, terminator: "")
8、swift 的控制流語句
//swift 的控制流語句 if swich for while do。。whlie (xcode7.0 之後repeat 。。。while)
小練習1
有一個隊伍的五個人的成績存放在數組中。 80分以上加3分 70分以上加2分 其餘加一分 求改組的總分
<span style="font-size:14px;">var teamScore = 0
var individualScores=[78,56,67,87,75]
for score in individualScores
{
if score > 80{
teamScore += 3
}
if 80 > score && score > 70{
teamScore += 2
}
else
{
teamScore += 1
}
}
print(teamScore, terminator: "")</span>
小練習2
有三個隊 ,[一隊 :[10,23,5,6,5],....] 通過雙重遍歷,三隊中的最高分以及最高分所在的組。
<span style="color:#333333;">var 得分 = [ "一隊": [13,44,64,24,57] ,"二隊": [13,34,64,84,67] ,"三隊": [13,24,64,54,67] ]
var max = 0
var teamName = ""
var index = 0
</span><span style="color:#33cc00;">//字典的遍歷</span><span style="color:#333333;">
for(key ,values) in 得分 {
for value in values
{
if max < value{
max = value
teamName = key
var vs:NSArray = values
index = vs.indexOfObject(value)
}
}
}
print("最佳的MPV得分 :\(max),是 \(teamName) 的第\(index + 1)個隊員", terminator: "")</span>
小練習3
循環 通過for得到10的階乘 while do ... while repeat ...while
<span style="color:#333333;">var n = 10
var 階乘 = 1</span>
<span style="color:#333333;">
while n>0
{
階乘 = 階乘 * n
n--
}
print(階乘)</span>
<span style="color:#333333;">
repeat
{
階乘 = 階乘 * n
n--
}
while n>0
print(階乘)</span>
<span style="color:#333333;">
for var i=1 ; i <= 10 ;i++
{
階乘 = 階乘 * i
}</span>
<span style="color:#333333;"></span><pre name="code" class="objc"><span style="color:#333333;">print(階乘)</span>