1、布尔类型
true,哈希值为1
false,哈希值为0
let aaa = 11
//错误写法
if aaa >= 10
print("运行结束")
//正确写法
if aaa >= 10
{
print("运行结束")
}
//和其他编程语言不一样,这里判断语句后只有一行代码也需要大括号
2、整形类型
var aaa = 1 //定义数值为1的整形变量,只是通过推断变量的类型为整形
var bbb : Int = 2 //通过添加冒号和类型名称的方法,指定变量的数值类型
var ccc : Int8 = 3 //定义一个8位的整形变量
var ddd : UInt = 4 //定义一个无符号的整形变量,也就是正整数,字节长度还是一样
3、浮点类型
Float/Double
4、字符串与字符
let aaa = "aaa"
let bbb = "bbb"
var ccc = aaa + bbb //字符串拼接
ccc.count //获得当前字符串中的字符数量
let ddd = 111
var eee = "插入指定内容\(ddd)"
5、字符串的属性方法
let aaa = "111"
Int(aaa) //强制转换指定类型
var bbb = "abcdefg"
bbb.hasSuffix("efg") //查看字符串尾部是否包含指定的字符串
bbb.hasPrefix("abc") //查看字符串头部是否包含指定的字符串
bbb.uppercased() //将字符串转换为大写模式
bbb.lowercased() //转换为小写
bbb.capitalized //首字符大写
bbb.isEmpty //判断字符串是否为空
bbb.components(separatedBy: " ") //将字符串按照指定内容进行分割,并返回一个字符串
6、元组(Tuples)
元组包含不同的数据类型,并组成一个复合值。元组是使用逗号分隔开,
并使用括号括起来的0个或多个类型组成的列表
let aaa = (500, "字符串")
let (bbb, ccc) = aaa //元组赋值,元素个数要相同
bbb //查看
ccc //查看
let ddd = (eee:"字符串", fff:333) //键值对方式
ddd.eee //查看元组中的值
ddd.0 //通过下标查看
7、基本数据类型的转换
let oneThousand : UInt16 = 1000
let _oneThousand : UInt16 = 1_000 //千位可以使用下划线分割表示
let oneHundred : UInt8 = 100
let result = oneThousand + UInt16(oneHundred) //位数不同的类型不可以相加,需要转换为同位数
8、一维数组
数组使用有序列表存储同一类型的多个值
var aaa = Array<String>() //使用数组的构造语句,定义一个字符串类型的数组
var bbb = [Float]() //定义浮点类型的数组
var ccc = [1, 2, 3, 4] //创建整形数组,并初始化
ccc.count //查看数组中的元素的数量
ccc.isEmpty //判断数组是否为空
ccc.contains(1) //判断数组是否包含某个值
ccc.max() ; ccc.min() //快速获取数组中的最大值/最小值
ccc.reverse() //将数组的值反转
ccc.swapAt(1, 2) //交换数组中的两个指定索引位置的元素
ccc += [5, 6] //将两个数组合并
ccc.append(7) //在数组中添加一个值
ccc[2...4] = [9, 10] //将数组中第2到第5为的数替换成[9, 10]
ccc.insert(20, at: 4) //在数组中的第5个位置,插入新的值
ccc.sort() //对数组按照升序,重新排列
9、多维数组的创建与遍历
创建:
var aaa = [1, 2, 3]
var bbb = [4, 5, 6]
var ccc = [aaa, bbb] //[[1, 2, 3], [4, 5, 6]]
或者:
var ddd = Array<Array<Int>>()
ddd.append(aaa)
ddd.append(bbb)
遍历:
for subArray in ddd
{
for num in subArray
{
print(num)
}
}
10、数组几种常用的遍历方式
var fruit = ["aaa", "bbb", "ccc"]
方法一:
for i in 0..<fruit.count
{
print(fuit[i])
}
方法二:
for item in fruit
{
print(item)
}
方法三:遍历索引和值
for (index, value) in fruit.enumerated()
{
print("\(index): \(value)")
}
11、字典的使用详解
苹果提供了两种集合类型来存储集合的值,Array和Dictionary。
字典是一种存储多个相同类型的值的容器。
var airports : Dictionary<String, String> = ["DUB": "Dublin", "TYO": "Tokyo"]
//字典中的每个值,都关联唯一的键,键作为字典中的值数据的标识符。
//字典的键和值是由冒号分割的,键值对则由方括号包括,并且由逗号分割。
var firstStudent = ["Name": "Peter", "Age": "12"]
var firstStudent = ["Name": "Peter", "Age": 12] //该字典的值被推断为字符串类型,所以出现整形值时会报错
//使用Any类型进行定义键的值
//定义一个键类型为字符串,值类型为Any的字典对象,并对字典进行初始化
var secondStudent : Dictionary<String, Any= ["Name": "Peter", "Age": 12]
12、一元、二元、三元操作符
var aaa = 1 //=为二元运算符
var bbb = -a // 这样负号为一元运算符
a++ 自增自减不再支持,使用a+= 1 代替
1+1 //属于二元运算符
ccc = ddd > eee ? fff : ggg //三元运算符