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>