使用任何编程语言都须要用到数据类型,数据类型决定了如何将表明这些值的位存储到计算机的中。java
Swift 提供了特殊的整数类型Int
,长度与当前平台的原生字长相同:在32位平台上,Int
和Int32
长度相同。在64位平台上,Int
和Int64
长度相同。Int8, Int16, Int32, Int64 分别表示 8 位, 16 位, 32 位, 和 64 位的有符号整数形式。另外的,Swift 也提供了一个特殊的无符号类型UInt,但
尽可能不要使用UInt。
数据库
import UIKit
var a:Int = 1//整数类型的定义(变量)
let b:Int = 2//整数类型的定义(常量)
import UIKit
print(Int8.min,Int8.max)//-128 127
print(Int16.min,Int16.max)//-32768 32767
print(Int32.min,Int32.max)//-2147483648 2147483647
print(Int64.min,Int64.max)//-9223372036854775808 9223372036854775807
print(Int.min,Int.max)//-9223372036854775808 9223372036854775807
import UIKit
var a:Float = 1.2
let b:Float = 1.5
import UIKit
var a:Character = "a"//Character
var b:String = "a"//String
var c = "a"//String
//var d:Character = "ab"-error
var e:String = "ab"//String
var f = "ab"//String
var g:Character = "我"//Character
var h:String = "我"//String
var i = "我"//String
//var j:Character = "我是"-error
var k:String = "我是"//String
var l = "我是"//String
如下是java语言的状况编程
public class Main {
public static void main(String[] args) {
char a='a';
String b="a";
System.out.println(getType(a));//class java.lang.Character
System.out.println(getType(b));//class java.lang.String
//char c='ab';-error
String d="ab";
System.out.println(getType(d));//class java.lang.String
char e='我';
//String b="我";-error
System.out.println(getType(e));//class java.lang.Character
//char f='我是';-error
String g="我是";
System.out.println(getType(g));//class java.lang.String
}
public static String getType(Object o){
return o.getClass().toString();
}
}
import UIKit
var a:Bool = true
var b = false//类型判断:根据内容判断数据类型
import UIKit
var a:Int? = 10
if (a==nil) {//nil相似于java中的null
print("a为空")
}else{
print("a=\(a!)")//字符串拼接
}
//输出:a=10
print(a)//Optional(10)
print(a!)//10。强制取值
做用:可以使用可选项绑定来判断可选项是否包含值:若是包含值就自动解包,把值赋给一个临时变量或常量并返回true;不然返回false。swift
import UIKit
var a:Int? = 10//定义可选型变量
if let value = a {//若是a有值,就把a的值给常量value
print("value的值为:\(value)")//value的值为:10
}else{
print("value没有值")
}
print(a)//Optional(10)
print(a!)//10
import UIKit
var a:Int! = 10//定义了一个变量
a=nil//在计算过程当中b成了nil
print(a)//nil。依然能够输出
var b:Int = 10
//b=nil——error
元组就是不一样数据类型的封装,关系型数据库中“记录”的另外一个学术性名称是“元组”,一条记录就是一个元组。编程语言
import UIKit
var a = (1,1.2,"hello","a",true)
var b = a//元组的赋值,传的是真实的值,不是引用
print(a.0,a.1,a.2,a.3,a.4)//逐个打印
a.0=10//修改元素
print(a.0,a.1,a.2,a.3,a.4)//逐个打印
import UIKit
var a:(Int,Double,String,Character,Bool) = (1,1.2,"hello","a",true)
import UIKit
var a = (name1:"hello",name2:true)
print(a.name1,a.name2)//hello true
import UIKit
var a:(name1:String,name2:Bool) = ("hello",true)
print(a.name1,a.name2)//hello true
import UIKit
var (name1,_,name3) = ("hello",10,"world")
print(name1,name3)//hello world
import UIKit
var a = ()//警告
//var b:(Int) = ()——error
import UIKit
var a = (1,1.2,"hello","a",true)
var b = (1,1.2,"hello","a",true)
var c = (1,1.1,"hello","a",true)
print(a==b)//true
print(a==c)//false
import UIKit
typealias dog = Int
var a:dog = 1//Int->dog
import UIKit
var a:Int = 10
print(String(10))//10
var b:String = "hello"
print(Int(b))//nil(相似于:null)。由于字符串转为Int不必定成功,因此发出警告
print(Int(b) ?? 100)//100。“??”相似于java中的“||”,具备“短路”做用,前面成功则不执行后面;不然执行
print(Double(true),Double(false))//1.0 0.0
print(Bool(0),Bool(1),Bool(2.2))//true。“0”为“false”,其他都是“true”