多种数据类型(包含浮点型、字符串类型)
switch支持区间判断
- 常见的区间
1.半开半闭区间:0..<10(表示0~9) 2.闭区间:0...10(表示0~10)
/* 假设成绩为100分 */
let a = 88
switch a {
case 0..<60:
print("不及格")
case 60..<80:
print("几个")
case 80..<90:
print("良好")
case 90..<100:
print("优秀")
default:
print("满分")
}
循环
- 循环是开发中必不可少的,常见循环有:for/while/do...while
// 传统写法
for var i = 0; i < 15; i++ {
print(i)
}
// 区间循环
for i in 0..<15 {
print(i)
}
for i in 0...15 {
print(i)
}
// 特殊写法
// 有时候我们只需要循环语句内的操作,不需要i,那么i可以用_代替
for _ in 0..<15 {
print("hello world")
}
- while循环
- while的判断句必须有真假(没有非0即真概念)
- while后面的()可以省略
var a = 0
while a < 10 {
a++
}
let a = 0
repeat {
print(a)
a++
} while a < 20
字符串
- OC和swift中字符串的区别
- OC中字符串类型为NSString,在swift中字符串类型为String
- OC中字符串用@“”包装,swift中字符串用“”包装
- 使用String原因
- String是一个结构体,性能较高;NSString是一个OC对象,性能较差
- String支持直接遍历
- swift提供了String和NSString间无缝转换
定义
let str = "hello world"
var str = "hello world"
- 使用
let count = str.characters.count
var str = "hello world"
for tmp in str.characters {
}
let str1 = "hello"
let str2 = "world"
let str = str1 + str2
let str1 = "xiao ming"
let str2 = 23
let str = "\(str1)今年\(str2)岁"
- 字符串的格式化
let min = 3
let time = String(format:"%02d", arguments:[min])
- 字符串截取方式
- 常用方式:String转换成NSString后再截取(简便)
let myStr = "hello world"
var subStr = (myStr as NSString).substringFromIndex(4)
subStr = (myStr as NSString).substringToIndex(3)
subStr = (myStr as NSString).substringWithRange(NSRange(location: 4, length: 5))
// 定义一个String类型的常量str
let str : String = "http://blog.csdn.net/yeshaojian"
// 截取开始位置
let startIndex = str.startIndex.advancedBy(7)
let head = str.substringFromIndex(startIndex)
// 截取结束位置
let endIndex = str.endIndex.advancedBy(-11)
let foot = str.substringToIndex(endIndex)
// 截取中间网址
let range = Range(start: startIndex, end: endIndex)
let middle = str.substringWithRange(range)
数组
- 介绍
- 数组(Array)是一串
有序的由相同类型元素 构成的集合
- 数组中的集合元素是
有序 的,可以重复 出现
- swift中的数组
- 初始化数组
- 数组分为可变数组和不可变数组
- 使用
let 修饰的数组是不可变数组
- 使用
var 修饰的数组是可变数组
// 在swift中任意类型一般不用NSObject而会使用AnyObject
// 定义一个不可变数组(存储内容为AnyObject)
let array : [AnyObject] = ["123", 15, ["se"]]
// 定义一个可变数组,并初始化值
var arrayM : [String] = [String]()
注意:在swift中任意类型一般不用NSObject而会使用AnyObject
声明数组的简便写法
// 声明可变数组
var arrayM2 : Array<String>
// 或
var arrayM3 : [String]
// 声明不可变数组
let array1 : Array<AnyObject>
let array2 : [AnyObject]
注意:声明的数组需要初始化才能使用,数组类型一般都是在声明的同时进行初始化
// 初始化值
arrayM2 = ["1", "2", "3"]
// 初识化后可追加值
arrayM2.append("隔壁老王")
// 因为上面我们声明的array1是let(常量),所以初始化后不能追加元素(不能使用append追加元素)
array1 = ["se", 234]
// 定义一个可变数组
var arrayM : [AnyObject] = ["123", 15, 25, 35]
// 添加数据
arrayM.append("隔壁老王")
// 取值
arrayM[4]
// 修改元素
arrayM[0] = "12"
// 删除数组最前面的元素(这边填 2 就表示删除2次,所以执行完毕后 隔壁老李 和 "123" 会被删除)
arrayM.removeFirst(2)
// 删除数组最后面的元素
arrayM.removeLast()
/
|