swift學習筆記3-4

來源:互聯網
上載者:User

標籤:

再牛逼的夢想,也抵不住你傻逼似的堅持!

我跑啊跑啊,為的就是趕上那個被寄予厚望的自己。

三、運算子+運算式

swift允許重載運算子,比如 “+”你可以重載它

後續會詳細介紹

賦值運算子 pass

算數運算子  大部分 pass,只說特殊的

19/4 結果是4 而不是5   //截斷取整

藉助ANSI C標準庫中的<math.h> 中的數學函數 完成複雜數學運算

import Foundation

var b = pow(3.2,5)  //3.2的5次方

var c = sqrt(3.2) //平方根

0~10的隨機數    var d = arc4random() %10

var e = sin(1.57)  //1.57當成弧度

- 求負

溢出運算子 ,對溢出資料位元進行截斷,程式更加健壯

&+ ,&-,&*,&/,&%

有符號整數,最高位是符號位,0代表正數,1代表負數。

電腦 以補碼的形式儲存整數,正數的補碼和源碼相同,負數的補碼 = 反碼+1     (按位取反,最高位不變)

位移運算子:

左移N位相當於乘以2的N次方,右移則是除以2的N次方。

範圍運算子:
a...b  包括 a,b邊界。for in會用到

var range = 2...6

for num in range

{

pringtln(num*5)

}

a..<b  遍曆數組的時候用(你懂的,因為從0開始嘛)

let books = ["oc","swift","java","go"]

for index in 0..<books.count

{

println(books[index])

}

比較子:=== 判斷參考型別的變數,引用同一個對象時返回ture了

邏輯運算子:

兩個的 會短路:就是前邊運算式判斷完,後邊就不判斷了,沒有執行的機會,直接得出結果

&& 與  有false則false

& 與 但是 不會短路

三目運算子:

var c =5 ,d = 5

c>d ?println("c大於d"):(c<d?println("c小於d"):println("c等於d"))

nil 合并運算子: ?? 

a??b 判斷a是否為nil,不為nil,返回a值,為nil,則返回預設b值,要求類型必須一致!

例  let defaultName = "renhairui"

var name:String?= "engineer"

println(name ?? defaultName)   // 輸出 engineer

var nameNil :String?

println(nameNil ?? defaultName)  // 輸出 renhairui

其實  a ?? b 相當於  a !=nil ?a!:b

四、流程式控制制

分支結構

迴圈結構

if else 要先處理範圍小的情況

var age = 45

if age >60

{

println("老年人")
}

else if age>40{

println("中年人")

}else if age>20{
println("青年人")

}

switch  不會繼續執行下一個case

var score = "c"

switch score

{
case "a","A":

println("優秀")

fallthrough  貫穿

default:

break 直接忽略

}

 

var score = 87

switch score{

case 91...100:

println("優秀")

case 同理

}

var somePoint = (x:1,y:-4)

switch somPoint

{

case (0,0):

println("原點")

case(_,0):

println("X軸")

case(0,_):

println("Y軸")

case(0...Int.max,0...Int.max):

println("第一象限")

}

case 值綁定

var score= 178

switch score

{

case 91...100:

println("youxiu")

case 0..<60:

println("")

case let grade:

println("輸入的成績\(grade)不合法")

 

}

var somePoint = (x:2,y:0)

switch somePoint

{

case (0,0):

println()

case(var x,0):

println("位於X軸上,x值為\(x)")

case(0,var y):

println("位於Y軸上,y值為\(y)")

case(x,y):

println("位置為:\(x),\(y)")

}

where給case增加額外的判斷條件

case var(x,y) where x>0 && y>0:

println("\(x),\(y)位於第一象限")

迴圈體:被重複執行的代碼

for 迴圈 可以同時指定多條初始化,也可以是一個包含邏輯運算子的運算式

for var b= 0,s=0,p =0; b<10 && s<4 &&p<10;p++

{

 

}

return 可以結束整個方法 函數

break  完全結束一個迴圈,跳出迴圈體,無論在那種迴圈。

continue 忽略本次迴圈的剩下語句

 

swift學習筆記3-4

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.