Swfit 基本语句

// Playground - noun: a place where people can play

 

import UIKit

 

 

 

// swift语言没有Main 函数 ,main函数是封装在自己的框架里的

// 一行的注释用 //

// 多行的注释,或者代码块 用 /* */

// 区别于OC中的

/*

/*

 

*/

*/

 

// println 是swift 1.2之前的;在swift 2.0 输出改为 print

 

 

var str = "Hello, playground"

 

// swift 变量命名规则

// 1. 不能于系统关键字重名,但是可以用``来修饰关键字来命名

// 2. 不能以除_以外的其他符号开头;_不能单独座位变量名

// 3.不能用左右箭头,← →,命名

// 4. 不能用数字开头

 

 

/*

   常量,变量

 

*/

 // 常量 : 在swift中用let修饰

let a = 2  // swift 中不用;号结尾

let `let` = 1

 

// 指定类型常量

let typeDefineA : Int = 10

let typeDefineB : Float = -19.05;

 

// 取绝对值的函数

abs(typeDefineB)

// 输出typeDefineA

print(typeDefineA)

 

// 变量 用var修饰

// 如果不指定类型,系统会自己判断

var  typeNotDefineB = 10.1254

var typeDefineC:Int = 10

 

/**

*  类型转换 swift中如果类型不一样,不能进行与运算操作

*/

 

 

let typeNotDefineD = typeDefineC+Int(typeNotDefineB)

 

 

// 1. 整形 Int Int8 Int16 Int32 Int64

// 无符号整形

Int.max // Int 最长

Int.min

 

UInt.max

UInt.min

 

// 2. 字符和字符串

 

let charactor = "a"

var charactor1 : Character = "a"

 

//  swift中 定义字符串的时候,没有@符号

var stringA = "abc"

 

// 求字符串长度

countElements(stringA)

 

// swift 2.0 以后 求字符串长度

//stringA.characters.count

 

// 求大小写

stringA.uppercaseString

stringA.lowercaseString

 

// 字符串拼接

var stringB :String = "def"

 

stringA + stringB

 

// 截取字符串

// swift 中对所有的unnicode编码,可以用汉字做变量名,常亮名

var 小鹏 = "人"

var 🍎 = "苹果"

var 苹果 = "🍎"

 

//苹果 = 小鹏 +🍎

 

// 3. 数组

var emptyArr = [String]()

var emptyIntArr = [Int]()

var myArr = ["小明","小黄","小彬"]

var intArr = [1,2, 3,"4"]

 

/**

如果创建的时候 指定了元素的类型,赋值时,必须为赋值类型,否则报错

*/

 

// 增加元素

myArr += ["你"]

 

myArr.append(" 好")

 

var 颜色 = ["蓝色", "绿色"]

 

培训机构.append("黑")

 

// 修改

 

培训机构[0] = "蓝翔"

 

// 删除 在swift中bool 只有true false

//机构.removeAll()

机构.removeAtIndex(0)

print(机构)

机构.removeLast()

 

// 元组

 

var person = (name :"小明",age:18)

 

person.name

person.age

 

person.1

person.0

 

 

var student = ("江湖",100)

 

// 5. 字典

 

// 创建一个空字典 swift 中key的类型必须一致,如果不一致这个字典就变为OC中的字典了

// string key 的类型 ;Int Value 类型

var emptyDic = Dictionary<String,Int>()

 

var emptyArray = [String]()

 

 

var emptyDic1 : Dictionary<String,Int> = Dictionary()

 

// 字典赋值

var peopleDic = ["name":"小明","age":18]

// 增加元素 如果赋值的key存在,相当于修改,不存在相当于增加

peopleDic.updateValue("小兵", forKey: "name")

 

peopleDic.updateValue("🍎", forKey: "吃")

peopleDic

 

/**

*  删除 true 移除所有; false 移除内容,保留内存

*/

 

//peopleDic.removeAll(keepCapacity: true)

 

var indexDic = peopleDic.indexForKey("name")

peopleDic.removeValueForKey("吃")

print(peopleDic)

 

peopleDic.removeAtIndex(indexDic!)

 

/**

*  可选类型  optional "?"代表程序不知道值是否否为空 "!"代表程序知道一定有值

*/

 

var 🍉 :String? = "🍉"

var 🍒 :String! = "🍒"

 

if 🍉 != nil{

    print("你傻不傻")

}else

{

    print("你二不二")

}

 

 

 

 

/**

*  6. 分支结构  if...else

*/

 

var strNum = "1000"

 

// 可选绑定类型 在if 判断中 去判断是否有值 ,如果有值,将值付给另外一个变量,否则输出else语句

if let result = strNum.toInt(){

    

    print(strNum)

    

}else{

    print("strNum 不能转换为 Int")

}

 

 

//switch...case  在Swift中不需要break ;所有语句都是独立成行的.如过需要执行下面的语句,需要使用fallthrough

 

var numSwitch :Int = 1

 

switch numSwitch {

case 1:

    print(numSwitch)

case 2:

    print("2")

case 3:

    print("4")

 

default:

    print("5")

    

}

 

var strSwitch :String = "小黄"

switch strSwitch{

case "小明" :

    print(strSwitch)

case "小雨":

    print("美")

default :

    print("好")

}

 

/**

*   范围性 Switch语句

*/

 

// 闭区间:[] ;半开半闭区间[)

// a...b代表[a ,b] , a...<b 代表 [a,b)

// where 只有在 Switch ... case 中使用,相当于OC中的逻辑与 ,只有同时满足 才执行

 

 

var intSwitch : Int = 10

switch intSwitch{

case 11:

    print("11")

case 10...20 where intSwitch == 15:

  

    print(intSwitch)

default:

    print("22")

}

 

/**

*  元祖 switch...case 语句 (_,11) _画线表示略过这个位置的元素

*/

 

var point = (10,20)

 

switch point

{

case (0,5):

    print("牛")

case(_,20):

    print("🐷")

case(10,_):

    print("🐑")

default:

    print("🐔")

}

 

 

// 循环

 // while 循环

 

var 循环语句 = 0;

 

while 循环语句 > 5

{

    循环语句++

}

 

/**

*   do...while 1.3

*/

// repeat ---- while swift 2.0

var do循环 = 0

//do

//{

//    do循环++

//

//}while do循环 <5

//

//for 循环

 

for var i = 0; i < 10;i++

{

    print(i);

}

 

// 数组遍历

 

 

var 动物园 = ["贾宁","观望","王嘉彬"]

 

for 动物 in 动物园

{

    print(动物)

}

 

 

// 元祖遍历数组

 

for(下标,值) in enumerate( 动物园){

    

    print(下标)

    print(值)

    print("\(下标),\(值)\n")

}

 

// 元组遍历字典

var 字典  = ["name":"小明","age": 18]

 

for (关键字,字典值)in 字典

{

    

    print("\(关键字),\(字典值)")

    

}

 

 

// 遍历区间

for i in 10...20

{

    print(i)

}

 

 

 

 

 

 

 

 

 

 

 

posted on 2015-10-14 19:40  在指尖跳舞的大狮子  阅读(236)  评论(0编辑  收藏  举报

导航