swift基本应用

2016-07-21  本文已影响0人  光_遥远

//swift后面没有分号。。加分号不会报错。。但是规定不能加分号

//引入框没有分号  直接写就OK

//swift不要加@号

print("娜娜")

//常量与变量

//swift常量与变量可以不写类型。系统可以自动判断

//在加一条语句必须用分号分隔

var a = 10  ;  a = 20

//常量

let b=10  

var 🏈=20

b + 🏈

//当变量有小数点。就会推到Doublevar c=66.6

//类型   转换   强制转换

var nana:Int = 100

var ming:Float = 99.9

var cuaina:String = "陈娜"

var xunming:Character = "m"

//swift中不支持隐式转换

//oc中强制转换Float  a  

Float(nana) + ming

//字符串var xiaona="娜娜"

//    YES/true  NO/false

var isTrue:Bool = true;

isTrue=xiaona.isEmpty

//字符串长度.字节长度

//xiaona.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)

xiaona.characters.count

//空

var abc = "  "

var abcd = String()

//拼接字符串

var 明 = "明"

var 娜 = "娜"

明+"👀"+娜

//可以把对象或变量直接写在括号print(明)

//判断字符串是否相等

明==娜

var smile:String = "我去"

var cry:String = "靠"

//字符串交换

var e1 = "a"

var e2 = "b"

//var e3 = e1

//    e1 = e2

//    e2 = e3

swap(&e1, &e2)

e1

e2

//数组

var array1:Array=["小明","小娜","小怡"]

var array2 = ["爱","懓","暧"]

//声明空数组,都是string类型数组

var array3 = Array()

//是string类型数组

var array4 = [String]()array2[1]="懓"

//添加元素

array1 += ["何必","那么","漂亮"]

array1.append("(⊙v⊙)嗯")

array1.appendContentsOf(["520" , "250"])

array1.appendContentsOf(["O(∩_∩)O~" , "250"])

//添加小标下元素

array1.insert("如果结婚啦", atIndex: 6)

array1.insertContentsOf(["呵呵"], at: 0)

//删除最后元素

array1.removeLast()

//删除指定元素

array1.removeAtIndex(0)

//所有array1.removeAll()

//字典

var dict1:Dictionary=["a":10]var dict2 = ["b":20]

//空字典

var dict3:Dictionary= [ : ]var dict4=Dictionary()

dict3=["b":"c"]

dict3.removeValueForKey("b")

//删除所有

dict3.removeAll()

//元组.类似c语言结构体。。。可以存放字典  数组 ,而且可以存放一起

var aaa = ("b",["a":"b"],["a","b","c"],"a")

aaa.0

aaa.1

aaa.2[2]

aaa.3

//循环结构

//for(NSInteger i=1,i<10,i++)

//{

//}

//swfit3.0之前

for var v = 0 ; v < 2 ; v++

{

print(v)

}

//【0,10】是零到十包括   0与10

for f in 0...10

{

print(f)

}

//【0,10】不包括0 与10

for f1 in 0..<10

{

print(f1)

}

var f2=10

while f2<100

{

f2+=1

print(f2)

}

//repeat。。while

repeat

{

f2 += 1

}

while f2 < 1000

//判断

if a==10 {

print("在吗")

}else{

print("陈娜")

}

//var a = 10

//不写break会执行

switch(a)

{

case 20:

print("chu")case 10:

print("chuai")default:

print("chuaina")

}

//枚举中直接取值  只能取到等号左边  rawValue加上去右边值

enum couples :String

{

case xiaoming="陈娜"

case chenna="浔明"

case xxx="不看就不看"

case yyy="呵呵"

}

var hehe = couples.xxx.rawValue

enum hahaha:Int

{

case a=1

case b=2

case c=3

case d=4

}

//四中类型

//无参数无返回值

//-(void)text

func text()

{

print("我去")

}

text()

//无参数有返回值

//-(int)text1

func text1()->Int

{

return 10

}

text1()

//有参数无返回值

//第一个参数不显示  要在前面加上num1

func text2(num1 num1:Int,num2:Int)

{

print(num1 + num2)

}

text2(num1:10,num2:10)

//有参数有返回值

func text3(num1:Int,num2:Int)->Int

{

return num1 + num2

}

text3(10,num2: 10)

//元组作为返回值

func yuanzu(num1:Int,num2:Int)->(Int,Int)

{

return(num1+num2,num1*num2)

}

yuanzu(10, num2: 10)

//函数嵌套

func text4()

{

print("1")

func text5()

{

print(2)

}

text5()

}

/*

外部参数:外部调用可看到

内部参数:内部运行需要用到的参数

func text(外部函数1  内部函数:Int,外部函数2:Int)->返回值

{

return 内部函数+外部函数2

}

text(外部函数:10  ,  外部函数10)

*/

//在函数中,所有参数类型都是let修饰的。。所以要改变的话,就必须外部声明Var

func text7(inout num1:Int,num2:Int)

{

num1=100

print(num1+num2)

//    return num1+num2

}

var number1 = 10

var number2 = 10

text7(&number1, num2: number2)

print(number1)

//简单计算器

//要求外界转入2个数一个符号

func jisuanqu(num1:Float,Fuhao:Character,num2:Float)->Float

{

switch(Fuhao)

{

case "+":

func jia(a:Float,b:Float)->Float

{

return a+b

}

return jia(num1, b: num2)

case "-":

func jian(a:Float,b:Float)->Float

{

return a+b

}

return jian(num1, b: num2)

case "*":

func cheng(a:Float,b:Float)->Float

{

return a+b

}

return cheng(num1, b: num2)

case "/":

func chu(a:Float,b:Float)->Float

{

return a+b

}

return chu(num1, b: num2)

default:

return 0

}        }

上一篇下一篇

猜你喜欢

热点阅读