swift第一课

第一课

有个学习swift的文档很详尽 http://numbbbbb.gitbooks.io/-the-swift-programming-language-/

语法


导入框架 import UIKit

声明常量 let a : Int = 20

声明变量 var b : Int = 10

  • 一般是首先声明常量,之后需要修改再改为变量
  • 任何一个标识符都要有明确的类型
  • 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略; 因为swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型

运算

  • 相同类型之间才可以进行运算
  • 因为swift中没有隐式转换
  • 必须保持类型一致,否则就会出错

如果非要进行计算,要先进行类型转化

  • Int类型转成Double类型:Double(标识符)
  • Double类型转成Int类型:Int(标识符)

分支

if else
  • if后面的()可以省略
  • 判断句不再有非0即真,必须有明确的真假(Bool --> true/false)
if a > b {
    print("a大于b")
} else{
    print("a小于等于b")
}

else if 的用法和else 一致

let score = 50
if score < 0 || score > 100 {
    print("不合理的分数")
}else if score < 60 {
    print("不合格")
}else if score < 80 {
    print("及格")
}else if score < 100 {
    print("优秀")
}

三目运算符
let num = score < 60 ? "~~~~(>_<)~~~~":"6666"

guard

guard需要写在方法中,判断条件不符合执行 反之跳过

//分数优秀的才能休息去玩
func play (score : Int){
    guard score < 60 else {
        return
    }
    guard score < 80 else {
        return
    }
    print("考的好就是屌")
}

优点: 有优先级的判断并进行一些操作 ,可读性强

while && do while

while 同if 判断不需要加()

do while 变为 repeat while

switch
let sex = 0
//case 后面可以判断多个条件,多个条件以,分隔
switch sex {
case 0,1:
    print("正常人")
default:
    print("其他人")
}

//可判断浮点型

switch n{
case 3.15:
    print("315")
default:
    print("平常日")
}

支持区间判断

开区间:0..<10 表示0~9不包括10

闭区间:0...10 表示0~10

let m = 10
let opration = "*"
var result = 0
switch m {
case 0..<10:
    print("小于10")
case 10...20:
    print("10到20")
case 20..<50:
    print("20到50")
    
default:
    result = 0
}

支持字符串

let m = 10
let n = 21

let opration = "*"
var result = 0
switch opration {
case "+":
    result = m+n
case "-":
    result = m-n
case "*":
    result = m*n
case "/":
    result = m/n
    
default:
    result = 0
}

for循环

for var f=0; f<10; f++ {
    print(f)
}

不过貌似不支持这种写法了 还是playground报错提示用下面这种forin写法

for f in 0 ..< 10 {
    print(f)
}

如果循环中没有用到参数f 也可以使用_下划线代替

for _ in 0 ..< 10 {
    print("哈哈,写完啦")
}

小结:判断语句取消括号,对象类型分为常量和变量,对象取消set 方法 ,只有点方法.数据类型分明,没有了隐式转换.

你可能感兴趣的:(swift第一课)