一、swift的基本数据类型
      Int、Float、Double、Bool、Character、String(首字母都大写)、Array、Dictionary、元组类型(Tuple)、可选类型(Optional)

1、swift严格要求变量在使用之前必须进行初始化
 // 定义变量
 var a=5// 定义变量,会自动判断类型(使用时需初始化)
 var b:Int=6//定义指定类型的变量.
 //定义常量
 let c=4
 let d:Int=7

 let maxInt=Int.max// 获取Int类型的最大值
 let minInt=Int.min//获取Int类型的最小值。
 //如果没有明确说明类型,浮点数默认就是Double类型。
 let e=3.5//默认是Double
 let f:Float=7.8
2、BOOL 就2种值: true :真  false :假
 //在c语言中: 0是假,非0就是真;而在swift中没有这种概念。
 //if语句的条件必须是Bool类型的值。
 var g=true
 var h=false

 3、元组类型
 元组类型由n个任意类型的数据组成(n>=0),组成元组类型的数据可以称为“元素”,可以用点语法和下标去访问。

 //定义带元素名称的元组
 var point=(x:34,y:50)
 //访问两种方法元素
 let px=point.x
 let py=point.y
 let px1=point.0
 let py1=point.1
 //定义元组的时候是可以省略元素名称的。访问的时候只能用下标去访问
 var point1=(80.60)
 //可以明确的指定元素的类型,在明确指定元素类型的情况下不能加上元素名称。
 var student=(String:"qiao",Int:40)
 //可以多个变量接收元组数据 
 var (W,H)=(320,480)


 4、数据的输出格式 
 可以在数字中增加额外的0和_,增强可读性

 var d1=000123
 var d2=0013.45
 var d3=1_000_000_000
 //var d4=_123 错误


  5、类型转换
 在swift中两个类型不相同的数值,是不能直接进行运算的。

 var x=5
 var y=3.4
 //var z=x+y// 错误,类型不同不能直接相加
 var z=Double(x)+y // 类型转换


 6、类型别名
 在swift中可以使用 typealias 关键字定义类型的别名,跟C语言的typedef作用类似

 typealias myInt=Int
 var test:myInt=10 //使用这个类型。
 7、求余运算符跟c语言不一样的。swift的%支持浮点数的计算。
 var qiu=8%2.5 // 0.5


 8、范围运算符
 范围运算符用来表示一个范围,有2种类型的范围运算符
 1、闭合范围运算符:a...b ,表示a和b之间的数,包含a和b
 2、半闭合范围运算符:a..<b ,表示a和b之间的数,包含a,不包含b

 for i in 1...5// 表示闭包 1至 5,循环5次
 {
     
 }
 for _ in 1..<3  //表示半闭包 1至 3,循环2次
 {
     
 }


 9、溢出运算符
 每种数据类型都有自己的取值范围,默认情况下,一旦赋了一个超出取值范围的数值,会产生编译或者运行时错误
 swift为整型计算提供了5个&开头的溢出运算符,能对超出取值范围的数值进行灵活处理。
 &+溢出加 &-溢出减 &*溢出乘 &/溢出除 &%溢出余

 //var y1=Int.max+1 //上溢会出错。
 var y2=Int.max&+1  // 溢出加  值为0,变为溢出后的最小值
 //var y3=Int.min-1// 下溢会出错。
 var y4=Int.min&-1 // 溢出减  值为 Int.max .变为溢出的的最大值。