/=======================整形==============================
/*
整形:有符号整形,无符号整形
8位,16位,32位,64位
//- 2^(n-1)~ 2^ (n-1) -1
//比如8位
// - 2^7 ~ 2^7 -1
// -128 ~ 127
*/
let maxValueOfInt8 = Int8.max;
let minValuOfInt8 = Int8.min;
println("int8:\(maxValueOfInt8)" +"int8:\(minValuOfInt8)");
//=======================浮点型==============================
/*
浮点型是有小数部分的数字。比如: 3.1413131
浮点类型比整数类型表示的范围更大,可以存储比Int类型更大或者更小的数字。
Double 表示64位浮点数。当需要存储很大或者很高精度的浮点数时使用此类型
Float 表示32位浮点数。
*/
//=======================自定义类型 typealias==============================
typealias WKSize = UInt;
typealias 整数 = Int;
typealias WKSreing = String;
var value : 整数 = 100 ;
var name : WKSreing ="WiKi";
var mySize : WKSize =200;
//Ps:封装自己的库的时候经常用,一般没什么卵用
//=======================常量和数值进制的表示方法==============================
/*
常量是指数字或者字符串等,表示的就是其值本身
*/
let num1 = 17;
let num2 = 0b10001 //二进制的17以0b作为前缀
let num3 = 0o21 //八进制的17以0o作为前缀
let num4 = 0x11 //十六进制的17以0x作为前缀
let num = 000_100_000_114
println(num);
let fnum = 12.123_330_000
println(fnum);
//=======================类型转换==============================
/*
类型转化在Swift中是比较严格的。不同类型之间可以认为是不能相互转化的,只能重新产生一个对象和值。并拷贝一份
*/
let qq : Int8 =12;
let int16 : Int16 =14 + Int16(qq);
println(int16);
//Ps:在整形数值之间转化的时候,由短整型向长整形都可以转化成功,但是如果长整形向短整形转换则不一定成功
let intValue = 1234 ;
let floatValue = 1.3 +Double(intValue);
println(floatValue);
//=======================Bool类型==============================
let b:Bool =true;
if(b){
println("b表示真");
}else{
// println("b表示假");
}
//=======================元祖 Tube==============================
/*
元祖语法允许将多个不同类型的值组合成一个复合值并且赋值给一个变量或者常量。
*/
//元祖定义语法
var myInfo = ("ios",50);
println("名称:\(myInfo.0)人数:\(myInfo.1)");
var heInfo = (one :"android0", two:"2015",number:50);
println("名称:\(heInfo.one) 编号:\(heInfo.two) 人数:\(heInfo.number)");
var itInfo = (one :"android1", two:"2015",number:50);
var (aa ,ss, dd) = itInfo;
println("aa is\(aa) , ss is\(ss) , dd is\(dd)");
var herInfo = (one :"android2", two:"2015",number:50);
let (zz , _ ,_) = herInfo;
println("zz is \(zz)”);
//可选类型的意思是,这个对象可以有数据,也可以没有数据
//=================================================
var str : String?
if str != nil {
println(str);
}else{
println(str);
}
//这里的str可以理解为是String?类型的,而不是String类型
str = "123"; //可选类型进行赋值,也可不赋值
println(str!.toInt()); //toInt 是String类型的方法。 !表示已经赋值了
//=================================================
//可选变量赋值为nil的使用
//对于普通变量或者常量来说,不能被赋值为nil
var n:Int?
n = 12;
println(n);
n = nil;
println(n);