//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
let a = 10
var b = 30.5
// Int类型转成Double类型:Double(标识符)
let c = Double(a) + b
print(c)
/*
Swift 基本语法之逻辑分支
分支的介绍
分支即if/switch/三目运算符等判断语句
通过分支语句可以控制程序的执行流程
*/
// if 的分支语句
/*
和OC中if语句有一定的区别
判断句可以不加()
在Swift的判断句中必须有明确的真假
不再有非0即真
必须有明确的Bool值
Bool有两个取值:false/true
*/
// if 判断语句 演练一
let d = 10
if d < 10 {
print(d);
}
// if else 判断语句 演练二
let scroe = 87
if scroe < 60 {
print("成绩不及格")
} else if scroe <= 70 {
print("及格")
}else if scroe <= 80{
print("优秀")
}else{
print("完美")
}
/*
演练三
这个是可选类型因为只有声明和可选类型后,才能判断是否为空
*/
let view : UIView? = UIView()
// 判断view 是否有值 如果有 则设置背景
if view != nil{
view!.backgroundColor = UIColor.red
}
// 三目运算符 更常用 Swift 中的三目运算符保持了 OC一致的风格
var e = 10
var f = 50
var result = e > f ? e : f
print(result)
// 这个方法主要是判断 错误输出语句
func canThrowAnError() throws{
}
do{
try canThrowAnError()
// 没有错误消息抛出
}catch{
// 有一个错误消息抛出
}
/*
guard的使用
guard是Swift2.0 新增的语法
它与if语句非常类似,它设计的目的是提高程序的可读性
guard语句必须带有else语句,它的语法如下
当条件表达式为true时候跳过else语句中的内容,执行语句组内容
条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
*/
var age = 18;
func online(age : Int) -> Void {
guard age >= 18 else {
print("回家去")
return
}
print("可以上网")
}
online(age: age)
/*
Switch 分支
Switch 的介绍
Switch 作为选择结构中必不可少的语句也被加入到了Swift中
只要有过编程经验的人对Switch语句都不会感到陌生
但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性
Switch 的简单使用
基本用法与oc保持一致
不同之处
Switch 后可以不跟()
case后可以不跟break(默认会有break)
*/
let sex = 1;
switch sex {
case 0:
print("男朋友")
case 1:
print("女朋友")
default:
print("其他人")
}
// 补充
/*
一个case判断中,可以判断多个值
多个值以“,”隔开
*/
let man = 0
switch man {
case 0,1:
print("男人和woman")
default:
print("你看着办吧")
}
// 方法补充 穿透 如果希望出现之前的case穿透,则可以使用关键字fallthrough
let woman = 0
switch woman {
case 0:
fallthrough
case 1:
print("男人")
default:
print("其他人")
}
/*
同时Switch 支持多种数据类型判断
浮点型的switch判断
*/
let g = 3.14
switch g {
case 3.14:
print("float")
default:
print("不是")
}
/*
支持字符串类型
字符串的使用后面使用会有详细讲解
*/
let x = 5
let y = 6
var resultz = 0
let opration = "*"
switch opration {
case "+":
resultz = x + y
case "-":
resultz = y - x
case "*":
resultz = x * y
case "/":
resultz = x/y
default:
print("其他类型")
}
/*
Switch 同时也支持区间判断
在学习之前我们首先要明白 什么是区间
通常我们所说的数字区间:0~10,100 ~200
Swift 中的区间常见有两种
开区间:0...<10 表示:0~9 不包括十
闭区间:0...10 表示:0~10
*/
let open = 99
switch open {
case 0..<60:
print("不及格")
case 60..<70:
print("良好")
case 70..<80:
print("优秀")
case 80..<100:
print("特别好")
default:
print("满分")
}
网友评论