Swift第一周學習總結(jié)
什么是程序
程序是為實現(xiàn)特定目標或解決特定問題而用計算機語言編寫的命令序列的集合
print("你好,世界谨垃!")
變量常量和元組
在swift中變量使用var來修飾砌烁,常量使用let來修飾漏隐,變量可以修改而常量不能被修改剪个。
正常情況下整數(shù) 使用Int 小數(shù)使用Double 字符串使用String bool表示真假
元組是一種復合的數(shù)據(jù)類型沪铭,只要將多個數(shù)據(jù)(可以是相同或不同數(shù)據(jù)類型的)使用一對()括起來就稱之為一個元組届巩。
例: 常量
let a = 0 //在swift中會自動推導定義的當前的類型
變量
var a = 0
var b = Int(10.6) //變量可以轉(zhuǎn)換類型 將Double類型轉(zhuǎn)換為Int類型
a = 1 //var定義的時變量可以將其定義的a可以重新賦值 且類型必須一致
元組
var a = 0
var b = 1
var c = 2
var d = 3
(c, d ) = ( a, b)//將c和b的值進行交換并復制給對方 d和a進行交換
標示符命名規(guī)則
變量和常量的命名wift幾乎可以使用任意的字符硅瞧,除了空格、數(shù)學符號恕汇、箭頭腕唧、特殊用途或無效的字符,
1.字母,數(shù)字,下劃線主儡, 數(shù)字不能開頭
2.大小寫敏感
3.不能使用關(guān)鍵字做標示符
4.駝峰標示 第一個單詞全小寫以后的每一個單詞首字母大寫
5見名知意
例
let π = 12365
let 你好 = "你好, 世界!"
let ? = "flower"
運算符
在程序中的運算符有 “+” “-” “*” “/” “=” “==” “乡小!=” “%”, 分別是 加 減 乘 除 賦值 等于 不等于 取余(求莫) 短路與運算(而且) && (或者)||
使用 賦值(”=“) 除 (”/“) 取余 (”%“) 分別取出個位十位百位的余數(shù)分別賦值給b,c,d
let a = 123 // 將123 賦值給a
let b = a % 10// 取個位的余數(shù)并將取出的余數(shù)賦值給b
let c = a / 10 % 10// 取十位的余數(shù)并將取出的余數(shù)賦值給c
let d = a / 100// 取百位的余數(shù)并將取出的余數(shù)賦值給d
用短路與運算判斷當前的年份是否是閏年
let year = 2016
//判斷year莫4的余數(shù)等于0 而且year莫100的余數(shù)不等于0 或者year莫400等于0
if year % 4 == 0 && year % 100 != 0 || year % 400 == 0 {
print("\\(yearr)是閏年") //字符串插值\\()
}
else{
print("\\(yearr)不是閏年")
}
分支結(jié)構(gòu)
在swift中分支結(jié)構(gòu)有 switch-case-default 酿矢, if-else
switch-case-default 分子結(jié)構(gòu)
var s = "L"
switch s{
case "U":
print("上")
case "D"
print("下")
case "L":
print("左")
dedault :
print("右")
}
if- else 分支結(jié)構(gòu) 實現(xiàn)分段函數(shù)求值
let x = -2
var y = 0
if x > 0 {
y = x + 1
}
else if x < 0
{
y = x - 3
}
else{
y = 2 * x
}
print(y)
循環(huán)結(jié)構(gòu)
在swift中的循環(huán)結(jié)構(gòu)有 for while repeat-while
repeat-while循環(huán)取代了其他語言的 do-while循環(huán),repeat-while 循環(huán)至少進行一次的循環(huán),u一次循環(huán)完畢后才能進行判斷
下面分別使用三種循環(huán)求一到一百的和
for
var sum = 0
for i in 1...100{ //這里還能這樣寫 for i in 1..<101 取1-101的開區(qū)間(左閉右開)
sum += i
}
print("1-100的和=\\(sum)")
while
var sum = 0
var i = 1
while i<=100{
sum += i
i += 1
}
print("1-100的和=\\(sum)")
repeat-while
var sum = 0
var i = 1
repeat {
sum += i
i += 1
} while i <= 100
print("1-100的和=\\(sum)")
數(shù)組
在swift中自帶了幾種的排序和插入值
1.創(chuàng)建數(shù)組
var array1 = [String]()
var array2: [String] = []
var array3 = ["apple", "grape", "banana", "apple", "orange"]
var array4 = [String](count: 100, repeatedValue: "")//count表示數(shù)組的長度 repeatedValue 表示初始值
2向數(shù)組中添加元素
array1 += ["strawberry"]
array1.append("pear") //依次添加
array1.insert("waxberry", atIndex: 0)//指定位置插入 atIndex:表示插入的位置
3從數(shù)組中刪除元素
array1.removeAll(keepCapacity: true)//只刪除元素 不刪除空間(true)
array1.removeAtIndex(0)//指定位置刪除
array1.removeFirst(<#T##n: Int##Int#>)//刪除前n100
array1.removeLast()//刪除最后一個
array1.removeRange(2...6)//刪除一個區(qū)域
4 數(shù)組的復制
var array1 = array2
array1[0] = "pitaya"
var array3 = array2[1...3]//指定復制的區(qū)域
5 獲取數(shù)組元素個數(shù)
print(array1.count)
6對數(shù)組中的元素進行遍歷
for index in 0..<array3.count {
// []是對數(shù)組進行下標運算(取出指定位置的元素)
print(array3[index])
if index == 1 {
array3[index] = "litch"
}
}
7.數(shù)組的+運算
let array7 = array1 + array3
print(array7)
利用循環(huán)給數(shù)組排序
簡單選擇排序: 每次從剩下元素中找最小的元素放到對應的位置
avr array = [10, 9, 16, 36, 0, 87, 11]
for i in 0..<array.count - 1 {
var minIndex = i
for j in i + 1..<array.count {
if array[j] < array[minIndex] {
minIndex = j
}
}
(array[i], array[minIndex]) = (array[minIndex], array[i])//用元組進行位置交換
}
print(array)
冒泡排序: 兩兩比較, 前面的元素比后面的元素大就交換位置
avr array = [10, 9, 16, 36, 0, 87, 11]
for i in 0..<array.count - 1 {
var swapped = false
for j in 0..<array.count - 1 - i {
if array[j] > array[j + 1] {
(array[j], array[j + 1]) = (array[j + 1], array[j])
swapped = true
}
}
if !swapped {
break
}
print(array)