2016-07-12(Swift-條件分支、循環(huán)旁理、集合類型)

關(guān)系運(yùn)算符:

Swift 的關(guān)系運(yùn)算符種類這幾種:>,<,>=,<=,==,!=,===,!==

其中:===判斷的是兩個(gè)值及數(shù)據(jù)類型都一樣
!==判斷的是兩個(gè)值及數(shù)據(jù)類型不一樣

使用其他關(guān)系運(yùn)算符時(shí)我磁,若是變量比較孽文,關(guān)系運(yùn)算符左右兩側(cè)的數(shù)據(jù)類型要一致

在swift中關(guān)系運(yùn)算符構(gòu)成的關(guān)系表達(dá)式結(jié)果類型為 true(真),false (假)


條件分支:

Swift繼承了C的條件分支夺艰,但是語法稍微不同芋哭,在swift里面,if后面的條件不需要括號(hào)括起來郁副。

var  num:Int = 1

if num > 0

{

print("num是正數(shù)楷掉!")

}

var price:Float = 3.5

switch price

{

case 3.5: print("1.0”)

case 2.0:print("2.0")

default :print("其他")

}

區(qū)間運(yùn)算符:

閉區(qū)間運(yùn)算符:閉區(qū)間運(yùn)算符(a...b)定義一個(gè)包含從a到b(包括a和b)的所有值的區(qū)間。



循環(huán)結(jié)構(gòu):

Swift中循環(huán)有四種:

while ,for ,repeat…while ,for…in

這四種與之前學(xué)的功能一致霞势,只是語法稍有不同烹植。
前兩種循環(huán)在swift里面循環(huán)條件的括號(hào)無需添加。

如下:

var price:Float = 3.5
while price < 5
{
print("漲價(jià)了")
price++
}

for var count = 0 ; count < 5 ; count++
{
print("循環(huán)計(jì)數(shù)")
}


repeat
{
print("又漲價(jià)了")
price++
}while price < 10


//閉區(qū)間

for index in  1...3
{
print(index)
}

集合-數(shù)組:

數(shù)組類型安全:數(shù)組在聲明之后總是知道自己能存放什么類型的數(shù)據(jù)愕贡,所以在給數(shù)組元素賦值的時(shí)候要注意類型匹配

語法:

變量修飾符(var/let) 數(shù)組名:[數(shù)據(jù)類型]

數(shù)組可以在聲明時(shí)初始化草雕,也可以之后初始化

//聲明時(shí)初始化
var age:[Int] = [10,30,4,2]
//聲明
var name:[String]
//聲明之后初始化
name = ["張三","李思","王武"]

數(shù)組元素的訪問:

for var i = 0 ; i < name.count  ; i++
{
print(name[i])//下標(biāo)法
}


for index in name  
{//不需要定義,直接寫參數(shù)名即可
print(index)
}



for (index,value) in name.enumerate()
{//使用枚舉器固以,獲取下標(biāo)和值
print(index,value)
}

數(shù)組有下標(biāo)越界檢查墩虹,注意下標(biāo)越界引起崩潰
同樣(var)修飾的數(shù)組可進(jìn)行添加,修改憨琳,刪除诫钓,(let)則是只讀

數(shù)組值的修改:

name[0] = “雷神” //修改元素值
name[1...2] = [“張笑笑”,“林巖巖”]//指定區(qū)間修改
//指定范圍修改(0~1下標(biāo)替換)
name.replaceRange(0...1, with: ["呀呀","jaja"])
name[0..<2] = ["問問","QQ"] //指定區(qū)間修改
print(name[0...1]) //指定區(qū)間打印元素(0,1下標(biāo))

數(shù)組的添加:

//聲明時(shí)初始化

var age:[Int] = [10,30,4,2]
age.appendContentsOf(1...10) //追加一個(gè)序列
print(age)

數(shù)組元素的刪除:

name .removeFirst() //刪除第一個(gè)元素

name.removeLast()  //刪除最后一個(gè)元素

name .removeAtIndex(2) //刪除下標(biāo)是2的元素

name.removeFirst(2) //從第一個(gè)開始刪除兩個(gè)元素

name.removeAll()//刪除所有

name.removeAll(keepCapacity: false)//刪除所有元素且不保留原來空間

name.removeRange(1...2) //刪除1~2下標(biāo)的元素篙螟,baokuo 1菌湃,2

數(shù)組內(nèi)容的相關(guān)判斷:

print(name.isEmpty) //判斷數(shù)組是否為空

print(name.contains("QQ"))//數(shù)組包含QQ這個(gè)元素

var ssq = "aaa"

let rst =  name.contains { (s:String) -> Bool in

return ssq == s //判斷name是否包含ssq這個(gè)變量的內(nèi)容 rst的結(jié)果是ture(包含)    flase(不包含)

}

集合-字典:

Swift的字典類型是Dictionary<KeyType, ValueType>,其中KeyType是字典中鍵的類型遍略,ValueType是字典中值的類型惧所。
對(duì)鍵類型KeyType的唯一限制是骤坐,它必須能夠提供一個(gè)方式讓自己被唯一表示出來。
Swift的所有基礎(chǔ)類型(例如String下愈、Int纽绍、Double和Bool)這些類型都能夠用作字典中的鍵。枚舉成員中沒有綁定值的值默認(rèn)也是可以作為鍵值势似。

字典的聲明語法:

Var 字典變量名: Dictionary<鍵的數(shù)據(jù)類型, 值的數(shù)據(jù)類型>

字典的聲明及初始化示例 :

//聲明空字典
var dict = Dictionary<Int,String>()
//賦值
dict[1] = "qq" //鍵是整型
print(dict[1]!)
//空字典
var dict1:Dictionary<Int,String> = [:]
//聲明
var  dic:Dictionary<String,String>
//賦值
dic  = ["name":"張三","address":"廈門市","age":"20"]

//上面的可以簡(jiǎn)化如下代碼:(在初始化的時(shí)候拌夏,字典的鍵值和值的數(shù)據(jù)類型就可以確定為:String,String),所以可以忽略

var dic1:Dictionary = ["name":"張三","address":"廈門市","age":"20"]

字典數(shù)據(jù)訪問:

//聲明,dic  可以賦值為空
var  dic:Dictionary<String,String>?
//若聲明的時(shí)候沒加?,下面這條語句不合法
dic=nil
//遍歷數(shù)組,但在使用dic變量取值時(shí)要保證不是空的,所以要加!
for (key,value) in dic!
{
print(key,value)
}

字典數(shù)據(jù)添加、修改履因、刪除:

//添加
dic1["score"] = "100 ?

//根據(jù)鍵值修改
dic1["name"] = "求求”

//根據(jù)鍵值修改
dic1.updateValue("99", forKey: "score")

//根據(jù)鍵刪除
dic1.removeValueForKey("name")

//全部刪除
dic1.removeAll()

//true:保留內(nèi)存障簿,默認(rèn)為false
dic1.removeAll(keepCapacity: true)

容器 - 元組:

元組(tuples)把多個(gè)值組合成一個(gè)復(fù)合值。元組內(nèi)的值可以使任意類型,并不要求是相 同類型搓逾。
//聲明(:加類型可以省略)

var stu:(stuId:Int,stuName:String) = (stuId:200,stuName:"張三")

print(stu.stuId)//key取值

print(stu.1)//下標(biāo)取值

//內(nèi)容分解

var (sId,sName) = stu

print(sId,sName)

常見錯(cuò)誤:

關(guān)系運(yùn)算符的使用(注意===卷谈,及操作數(shù)的類型匹配)
條件分支的語法
Switch…case的條件可以是浮點(diǎn)杯拐,沒有break貫穿
循環(huán)的語法注意霞篡,swift沒有do…while,用repeat…while表示
集合的值在做增刪改的時(shí)候注意是var端逼,可變的朗兵。
注意變量是!號(hào)描述還是?描述

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末顶滩,一起剝皮案震驚了整個(gè)濱河市余掖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌礁鲁,老刑警劉巖盐欺,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異仅醇,居然都是意外死亡冗美,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門析二,熙熙樓的掌柜王于貴愁眉苦臉地迎上來粉洼,“玉大人,你說我怎么就攤上這事叶摄∈羧停” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵蛤吓,是天一觀的道長(zhǎng)宵喂。 經(jīng)常有香客問我,道長(zhǎng)会傲,這世上最難降的妖魔是什么樊破? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任愉棱,我火速辦了婚禮,結(jié)果婚禮上哲戚,老公的妹妹穿的比我還像新娘奔滑。我一直安慰自己,他們只是感情好顺少,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布朋其。 她就那樣靜靜地躺著,像睡著了一般脆炎。 火紅的嫁衣襯著肌膚如雪梅猿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天秒裕,我揣著相機(jī)與錄音袱蚓,去河邊找鬼。 笑死几蜻,一個(gè)胖子當(dāng)著我的面吹牛喇潘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播梭稚,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼颖低,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了弧烤?” 一聲冷哼從身側(cè)響起忱屑,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎暇昂,沒想到半個(gè)月后莺戒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡急波,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年从铲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幔崖。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡食店,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出赏寇,到底是詐尸還是另有隱情吉嫩,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布嗅定,位于F島的核電站自娩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜忙迁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一脐彩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姊扔,春花似錦惠奸、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嵌言,卻和暖如春嗅回,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摧茴。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工绵载, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人苛白。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓娃豹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親丸氛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子培愁,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 一直沒有時(shí)間好好看一下swift著摔,最近復(fù)習(xí)了一遍語法缓窜,這里記錄swift學(xué)習(xí)過程中遇到的一些問題和要點(diǎn),和Obje...
    bomo閱讀 2,339評(píng)論 0 25
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young閱讀 3,788評(píng)論 1 10
  • Swift 語言提供Arrays谍咆、Sets和Dictionaries三種基本的集合類型用來存儲(chǔ)集合數(shù)據(jù)禾锤。數(shù)組(Ar...
    窮人家的孩紙閱讀 558評(píng)論 3 2
  • 文/李云揚(yáng) 1 笑笑和大同剛結(jié)完婚不多久,笑笑便辭去了在老家農(nóng)村小超市服務(wù)員的活兒摹察,跟著老公來到了城里恩掷。 最初的幾...
    李云揚(yáng)閱讀 382評(píng)論 2 8
  • 一山一色一酒家, 老農(nóng)閑坐話新茶供嚎。 游人應(yīng)憐東風(fēng)好黄娘, 聽完暮雨聽夜蛙。
    貓苦艾閱讀 163評(píng)論 0 0