引入文件:
在Swift中导入类库使用 import 类库名, 不再使用<> 和“”
import Foundation
输出语句:
Swift中的输出语句使用print C语言中使用prientf
print("Hello, World!")
常量 变量:
定义常量使用 let 常量不能改变
定义变量使用var 变量可以改变
let myGender = "女"
//myGender = "男" //编译会报错
var carName = "BMW"
carName = "Audi"
print(carName) //可以改变
变量类型的隐式转换:
在Swift中定义常量变量不给定相关的类型,他会隐式转换成你给定的初始值类型
let name = "Jack"//如果这样子定义出来一个常量,他会隐式转换成String类型
let namr1 : String = "Rose"//如果给定类型,后边赋值的时候需要根据类型进行赋值
let age : Int = 18 //如果定义常量最好给出初始值,定义变量可以不给初始值
var age1 : Int?//?表示age1的类型为可选类型,其值可以为空
print(age1)
//定义一个字符类型的变量
var char : Character = "A"//赋值字符类型的时候仅需一个字母即可
//定义一个布尔类型的变量(在swift中bool变量的类型只有 true false)
var flag : Bool = true
字符串:
创建空的字符串的两种方式
var str_emperty = ""
var str1_emperty = String()
判断一个字符串是否为空
if str_emperty.isEmpty {
print("str_emperty isEmpty");
}
字符串拼接
var str_url = "http://"
var str = "www.baidu.com"
let str_new_url = str_url + str;
print(str_new_url)
print("百度网址:\(str_new_url)");// \(变量名)输出相关的内容【插入式取值】
获取字符串的长度
var str1 : String = "abcdef"
print(str1.characters.count)
字符串比较
var str2 = "MBboy"
var str3 = "GBLW"
if str2 != str3 {//==
print("两个字符串不等")
}
数组:
Swift中数组的元素类型必须相同
定义数组
//定义一个数组
var nameArray = ["yuanyuan", "GBLW", "WYW"]
print(nameArray);
var nameArray1 : Array<String> = ["YQ", "XiaoQiang", "FatZhou"]
//定义一个空数组(字符串)
let array = Array<String>()
print(array);
访问数组中的元素
print(nameArray[1])
向数组中添加元素
var int_array = Array<Int>()
int_array.append(520)
int_array.append(123)
print(int_array)
//使用运算符添加数组元素
int_array += [100]
int_array += [120]
print(int_array)
//使用运算符添加多个数组元素
int_array += [800, 900]
print(int_array)
插入元素到具体位置
int_array .insert(521, atIndex: 1)
print(int_array)
移除元素
//移除某个元素
int_array.removeAtIndex(4)
print(int_array)
//移除所有元素
int_array.removeAll()
字典:
定义字典
//定义字典类型的变量
var dic : Dictionary<String,Int> = ["a":18, "b":69, "c":38]
print(dic)
//定义空字典
var dic1 :Dictionary<String,Int> = [:]
var dic2 = Dictionary<String,Int>()
往字典里添加键值对
dic["d"] = 50
修改字典中的内容(根据键去修改值)
dic["a"] = 90
删除字典中的内容(根据键去删除)
dic.removeValueForKey("b")
元组:
定义元组(两种方式)
//方法一:直接初始化一个元组,通过隐式类型推断一个元素的类型
let tuples = ("一班", ["iOS", "html5", "Android"])
//方法2:显示初始化的方式
let tuplesNew:(String, Array) = ("8班", ["iOS", "html5", "Android"])
取出元组中的值(两种方式)
//第一种取值方式:直接把元组赋值给另外一个常量,根据相关标记进行取值
let tuplesNew1 :(classroom:String, course:Array) = tuplesNew
var classInfo = tuplesNew1.classroom + tuplesNew1.course[0] + tuplesNew1.course[1] + tuplesNew1.course[2]
print(classInfo)
//第二种取值方式:直接通过下标获取元素的值
var classInfoNew = tuplesNew1.0 + tuplesNew1.1[0] + tuplesNew1.1[1]
print(classInfoNew)
Switch语句的使用:
//switch形式使用fallthrough实现贯穿每种可能
let value = 0
switch value {
case 0 :
print("T.O.P")
fallthrough
case 10:
print("GD")
fallthrough
default:
print("胜利")
}
//特点二:case后可以使用一个范围
switch value {
case 0..<10:
print("输出0-10之间的数值")
case 10...100:
print("输出10...100的数值")
default:
print("other")
}
//特点三:case后可以使用(let和var修饰的常量或者变量) where是满足某种条件
switch value {
case var i where value >= 0 && value < 6:
i = 99
print(i)
default:
print("other")
}
//特点4: case后还可以匹配一个元组
let point = (10, 10)
switch point {
case (10,0):
print("111")
case(10,8):
print("222")
case(_,10)://_代表可以忽略某个元素
print("333")
case(10, 10):
print("555")
default:
print("444")
}