Swift的基本数据类型与Oc的数据类型有一些不同;除了写法改变了一些之外,还增加了一些类型,下面来由浅入深的介绍其基本数据类型
注意:基本数据类型以大写字母开头,不同于C语言!如 Int Double等
1.整型,顾名思义,其接受的是一个整数,Swift中的整型有很多种
(1)无符号的整型,范围是0~2的(N次方)-1
如
U字母打头----->Unsigned 的缩写
UInt8,8位的无符号整数UInt16,16位(内存中所占的bit数)的无符号整数
UInt32,32位的无符号整数
UInt64,64位的无符号整数
UInt,操作系统相关的无符号整数,32位系统为32位无符号整数,64位则是64位整数.
示例:
var ua:UInt8 = 12 **********注意范围不要溢出
(2)有符号整数,与无符号整数对应
范围是 -2的N-1次方 ~(-2的N-1次方-1)
类似的有 Int (系统字长相关),Int8,Int16,Int32,Int64
示例:
let a:Int = 222222
(3)其他进制整数
二进制,0b开头 如 var bValue = ob101001 八进制,0o开头 如 var oValue = 0o127 十六进制,0x开头 var hValue = 0xA1F
2.浮点型
包括:
Float,32位 浮点型
Double,64位 浮点型,精度较高
示例:
var aD = 3.1415 //系统自动推断类型为 Double
var aF:Float = 3.0
注:Swift的 浮点数写法有3种,小数,科学计数法,十六进制 计数法
3.整型数据类型转换
由于Swift对类型检查非常严格,无法 隐式地转换
如下面的语句将会产生错误
var a:Int16=16 var b:Int32=32 var ab=a+b//该语句会导致错误,因为a,b的类型不一致,也不支持隐式转换,所以报错
所以我们需要强制,显示地类型转换
如下
转换方法 : 类型(值),如 Double(value),形式类似于使用一个 构造器
转换原则:把字长短的转换成字长长的,避免精度丢失
var ab=Int32(a)+b/
其他类型的强制转换方法类似
4.整型的最大值,最小值max min
Swift的整数可以直接输出其最大值,max,最小值min,当做一个属性来使用
println(Int8.max) println(UInt.min)
输出 :
127
0