Swift基础_01数据类型和逻辑分支

2017-08-22  本文已影响26人  cmfish

内容总结

Swift中的数据类型

Swift中的逻辑分支


Swift中的数据类型

//利用类型推导省略 标识符:数据类型 示例 并且Xcde编译器在你声明标识符的时候的推荐的也是省略数据类型
let a = 24
var b = 2.44
let view = UIView()
let btn = UIButton()
let i = 20        //整形
let d = 15.2    //Double类型

//let p = m + n 错误写法 会报错
//必须进行类型转换 让运算标识符的类型一直
let dp = Double(i) + d // 35.2
let ip = i + Int(d)    // 25

Swift是强类型语言


let d2 :Double = 2.55
let f :CGFloat = 3.22

//let resalt = d2 + f 错误写法 会报错

//正确写法
let resault = d2 + Double(f)

逻辑分支

 if的用法 OC的中的用法
 if(a>0){
 
 }
 if(a){//非0 即真 只要a 不是0或者空都能来到这个判断
 
 }
let num = 1
if num > 0 { //可省略条件后面的() ,并且条件要明确
    print("a 大于0")
}else if num == 0 {
    print("a =0")
}else {
    print("a 小于 0")
}

if a != 0 {
    print("a 不等于0")
}
guard 条件表达式 else {
 
 
     break
 }
 
 语句组
例子 多重条件判断一个人能不能上网
let age = 20
let haveIdCard = true
let haveMoney = true
func canOnline (age:Int) {
    if age > 18 {
        if haveIdCard {
            if haveMoney {
                print("可以上网")
            }else{
               print("取钱")
            }
        }else{
            print("拿身份证")
        }
    }else{
        print("不能上网")
    }
}

canOnline(age: age)
可以看出多重判断之后 该函数看起来很复杂 代码阅读性变差
改成 guard
func guardCanOnline (age:Int) {
    
    guard age>=18 else {
        print("不可以上网")
        return
    }
    guard haveIdCard else {
        print("回家拿身份证")
        return
    }
    guard haveMoney else {
        print("没钱上什么网")
        return
    }
    print("开心上网吧")
    
}
对比上例 实现一样的需求 这样这个判断上网的函数是不是看起来清爽很多呢?

switch分支

代码示例 基本使用

//sex 代表性别 0 男 1 女
let sex = 0

switch sex {
case 0:
    print("boy")
case 1:
    print("girl")
default:
    print("人妖啊")
}
switch sex {
case 0,1:
    print("正常人")
    fallthrough
default:
    print("人妖啊")
}

switch判断其他类型

let pai = 3.14

switch pai {
case 3.14:
    print("与π相等")
default:
    print("与π不相等")
}
let num1 = 20
let num2 = 30

let oprationStr = "+"


switch oprationStr {
case "+":
    print(num1+num2)
case "-":
    print(num1-num2)
case "*":
    print(num1*num2)
case "/":
    print(num1/num2)
default:
    print("非法的操作符")
}
let score = 90

switch score {
case 0..<60:
    print("不及格")
case 60..<80:
    print("及格")
case 80..<90:
    print("良好")
case 90...100:
    print("优秀")
    
default:
    print("不合理的成绩")
}

while和do while循环

 int a = 0 
while (a>0) {
a++;
}
while(a) {

}
var m = 0
while m <10 {
        m+=1  //Swift3.0中没有了 i++ 这种语法
        print(m)
}
//Swift中没有了do while 语法  改成了 repeat while
repeat {
       m-=1
      print(m)
}while m > 0


后续

给能看到文章最后的你一个赞,肯定了乐于学习的你。愿我们在学习的路上一去不复还

联系我,点赞也行吐槽也迎

邮箱 ichenwanbing@163.com

QQ 351795515

上一篇下一篇

猜你喜欢

热点阅读