/***************************第一节课*****************************/
//基本的数据类型:包括C和OC上所有的数据类型 包括:整型,浮点型。
/*SWift中整型包括:Int/Int8/Int16/Int32/Int64和UInt/UInt8/UInt16/UInt32/UInt64
Swift中浮点型包括:Double和Float/Float32/Float64/Float80*/
//常量(let)和变量(var)的声明
//常量:常量的值是不可变的,变量的值是可变的。
let con = 100;
var avi = 50;
avi = 80;
//var 可同时声明多个常量或变量,变量之间用逗号隔开,用分号结尾
var a = 30, b = 40, c = 60
//类型标注:如果声明的同时赋了初始值,并不需要类型标注
var Who:String
Who = "xiaoming"
print(Who)
//常量和变量的命名 注意:命名不能包含数字,箭头,连线与制表符,不能以数字开头
let 小明 = "nihao"
var �� = "微笑"
print(小明, ��)
var 眼睛 = "��"
print(眼睛)
//字符串插值
var apples = 10
var oranges = 4
print("i have \(apples + oranges) fruits")
//注释:注释掉一行代码使用// 注释掉一段代码/**/
//注释的嵌套
/*第一层注释
/*
第二层注释
*/
*/
//var intValue = 10
//var doubleValue: Double = intValue
//类型推断和类型安全
let stringValue = "你好"
/*********************第二节课***********************/
//类型转化
let ai : UInt8 = 10
let bi : UInt16 = 100
print("\(UInt16(ai) + bi)")
let sa = 3
let pi = 3.1415926
let add = Double(sa) + pi
print(add)
//类型别名
typealias AudioSam = UInt8
var maxValue = AudioSam.min
print(maxValue);
//元组
let people = ("小明", 18)
// let (name, age) = people
//
// print("The age is \(age)")
// print("The name is \(name)")
//元组分解:分解的时候要忽略的部分使用 _ 表示,但同样可以输出值
let (justAge, _) = people
print("The age is\(justAge)")
print("\(people.0)")
//print("\(people.1)")
//定义元组的时候,给单个元素命名
let rec = (w : 10, h : 20)
print(rec.w)
print(rec.h)
//可选类型:处理值可能缺失的情况
let str = "1234"
//let convertNumber = str.toInt()
//注意:Swift2.0中String.toInt()已重名为Int(String)的可失败构造器,因为构造器语法更适合类型转换。
let convertNumber = Int(str)
print(convertNumber)// convertNumber是Optional(可选类型) Int 或者 Int?
//使用if进行判断
if convertNumber != nil
{
print(convertNumber!)//可选值的强制解析,使用可选值进行判断如果convertNumber为空,则程序会出现运行错误。
}
//可选绑定:可选绑定可以使用在if和while语句中来对可选类型的值进行判断并把值赋给一个常量或者变量
if let actualNumber = Int(str)
{
print(actualNumber)
}
//在Swift中nil表示一个确定的值,表示值缺失
var serverCode: Int? = 404
serverCode = nil //现在serverCode 不包含值
var suuny: String?
//隐式解析可选类型:第一次被赋值之后,可以确定一个可选类型总会有值。主要用于类型构造过程
var possibleStr: String! = "你妹"
// print(possibleStr)
let unsigneInt: UInt16 = UInt16.max
//print(unsigneInt);
/*
类型推断和类型安全
*/
let StringValue = "hello"
//print(StringValue)
/*
类型转换
*/
let floatV: Float = 3.2
var intV: Int = 10;
intV = Int(floatV)
print(intV)
/*
布尔类型 Bool. true, false
*/
let turnOffLight: Bool = true
if turnOffLight{
print("Turn Off")
}else{
print("Turn NO")
}
/*
元组:(30, "hello")
*/
//形式1
let student = ("zhangsan", 23, 98.5)
print(student.0)
print(student.1)
print(student.2)
let (name, age, _) = student //_在Swift中表示为通配符
print(name)
print(age)
//print(scroe)
//形式2
let studetnt1 = (name:"张宁", age:25)
print(studetnt1.name)
print(studetnt1.age)
/*
可选值:optionals, 存在两种状态:有值,无值(nil)
可选值可以使用if语句来进行判断的
*/
//形式1
let string = "963333"
let comm = Int(string)
if comm != nil {
print(comm)
}else{
print("为空")
}
//形式2
var optValue: Int? = 8
if optValue != nil {
print(optValue)
}else{
print("error")
}
//var svalue: Int = optValue!//感叹号表示对可选类值进行一个强制解析,可选值!
//print(svalue)
//可选绑定(解包)
if var svalue = optValue {
print(svalue)
}
/*
隐式解析类型,两种状态:有值, 没有值(nil)
*/
var impOpValue: Int! = 16
if impOpValue != nil {
print(impOpValue)
}
//可选绑定
if let IValue = impOpValue
{
print(IValue)
}
//在确定可选值有值的情况下可进行可选解析(解包)过程
var ivalue: Int = impOpValue
SWift Lesson1
最新推荐文章于 2025-08-13 20:22:27 发布