常量let和变量var
let 常量
定义:被赋初始值后不能再被赋值。
var 变量
定义:被赋初始值后可以再被赋值
可以这样直接初始化多个类型一致的变量或者常量
var a = 1 , b = 2 , c = 3
如果不给出变量(常量)的类型,那么系统会默认指定类型
比如,
let a = 1 a就是Int类型
let a = "ABC" a就是String类型
申明一个变量(常量)也可以把类型直接指明出来。
let a:Int = 1
let website:String = "www.baidu.com"
整形
申明一个整形方式:
let a = 1 (默认为Int型) 或者 let a: Int = 1
如果说,申明的整形值大于了类型存储最大值,那么swift就会直接报错,也说明swift是个强类型语言,直接在编译过程中就检验出错误。
在swift中,申明一个整形可以用十进制,二进制,八进制,十六进制去申明。
在申明一串很长的数字的时候,也可以用下划线来分割,1_000_000,使得易读
布尔类型和简单的if判断
在swift中,只有true和false。等同于oc中的YES和NO
在没指定类型,系统默认为bool
let imTrue = true
let imFalse = false
相比于oc来说,swift的if语句显得更加简练
if imFalse{
print("true")
} else{
print("true")
}
在oc中,0为假,大于0为真。
但在swift中是不允许这样操作的。
为此,我们可以这样处理
浮点数
Float 单精度浮点数 ,采用32位表示
Double 双精度浮点数 ,采取64位表示
可以从下面的代码看出区别
在swift,申明一个浮点数,如果不做类型申明,那么当申明的浮点小数位数很小,那么会默认为Float,很大就默认为Double
类型转化
在swift中,是不允许不同类型的变量(常量)进行加减乘除等操作的。
在类型转化的时候,也会出现内存溢出,同样也会报错。
元组
可以将多个不同类型的值集合在一个数据中
申明一个元组
let point = (5 , 2)
var point = (5 , 2)
var httpResponse = (404 , "Not Found")
也可以指定元组元素类型申明一个元组
var point2:(Int , Int , Int) = (10 , 5 , 2)
var httpResponse2:(Int , String) = ( 200 , "OK")
也可以为元组元素定义一个名字这样申明一个元组
let point4:(x:Int , y:Int) = (10 , 5)
元组申明了要如何去用呢?那就要去元组解包
元组解包
var point = (5 , 2)
let (x,y) = point
print(x,y)
也可以直接调取元组元素(这样非常不直观)
point.0 (相当于5)
point.1 (相当于2)
也可以更直观的去解包
let point3 = (x:3 , y:4)
point3.x
point3.y
还有一种解包方法,通过下划线的方式把不需要解读的元组数据忽略掉
Print打印参数设置
在print打印中,多个值之间是空格分开
separator参数
print(x , y , z , separator:",")//separator设置后,就以,为分割符
terminator参数
print(x , y , z , terminator:"哈哈")//terminator设置后,以“哈哈”为结束语,同时不会有回车
在oc中,终端打印变量参数,需要NSLog(@"%d",a)形式
在swift中,提供了"\()"来进行字符串插值运算
print("\(y) * \(z) = \(y*z)")//利用\()来进行字符串插值进行运算