SWift Lesson1

/***************************第一节课*****************************/

//基本的数据类型:包括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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值