Swift 练习

Swift 练习,第1张

概述import Foundation println("Hello, World!") let floatValue:Float = -1.3 let intValue = 1234 + Int(floatValue) NSLog("intValue = %d", intValue); typealias MyInt = Int16 println("MyInt的最小值是:\(MyInt.max)" import Foundation println("Hello,World!") let floatValue:float = -1.3 let intValue = 1234 + Int(floatValue) NSLog("intValue = %d",intValue); typealias MyInt = Int16 println("MyInt的最小值是:\(MyInt.max)") let numOfCourse:MyInt = 200 println("课程数量:\(numOfCourse)"); let b : Bool = false,b1 : Bool = true println("b is :\(b) -- b1 is \(b1)") //元组 var classInfo = (classname:"iOS1309",classID:"20150302",classNum:50) println("班级名称 is \(classInfo.classname),班级编号 is \(classInfo.classID),班级人数 is \(classInfo.classNum)") var (name,ID,num) = classInfo println("班级 is \(name),编号 is\(ID),人数 is \(num)") let (classname,_,_) = classInfo println("班级名称 is \(classname)") //可选类型 var str : String? = "123" if str != nil { println(str) println(str!.toInt()) } else { println(str) } let str1 : String = "Hello",str2 : String = " World" let str3 = str1 + str2 println(str3) var age = 10 if age < 0 { println("年龄不合法") } //三目运算符 println(age < 0 ? "年龄不合法":"年龄值合法\(age)") //区间运算符 - 闭区间 for a in 0...5 { println(a) } println("---------------") //- 半闭区间 for a in 0 ..< 5 { println("\(a)") } var sex = "male" if age < 18 && sex == "male" { println("boy") } let distance = 1 assert(distance >= 0,"两点的距离不能小于0") var str5 = "ios,@%^&&*(你好gniogIEr" println("字符的数量:\(countElements(str5))") var str6 : String = "12.1" let ns: Nsstring = str6 let d = ns.doubleValue println(d) var intList = [12,35,56] var intList2 : [Int] intList2 = [] intList2.append(1245) println(intList2) var doubleList:[Double] = [] doubleList.append(151) println(doubleList) var List = [Int]() List.append(13) var List1 = [Int](count: 5,repeatedValue: 4) for n in List1 { println(n) } var List2 = Array(count: 3,repeatedValue:"hello") for b in List2 { println(b) } var List3 = ["hello","swift","学习","欢迎"] println("第一个元素 is :\(List3[0])") println("第二个元素 is :\(List3[1])") println("元素的个数 is :\(List3.count)") var List4 : [String] = [] if List4.count == 0 { println("数组是空的") } if List4.isEmpty { println("数组果然是空的") } List3[3] = "iOS开发" println(List3) List3[0...2] = ["曹 *** ","刘备","孙权"] println(List3) var dic1 = [1:1,2:2,3:3] println(dic1.count) var dic2 :Dictionary<String,String> = [:] var dic3 = Dictionary<String,String>() var dic4 = [String:String]() var dic = ["key1":"iOS","key2":"Swift","key3":"AndroID"] var dicStr = dic["key2"] println(dicStr) var strNotExists = dic["key"] println(strNotExists) dic["key"] = "Objective-C" println(dic) //修改字典 dic["key"] = "OC" println(dic) let dicStr1 = dic.updateValue("Objective-c",forKey: "key2") println(dic) for (key,value) in dic { println("key:\(key)","value:\(value)") } for str7 in dic.keys { println(str7 + "") } var keys = Array(dic.keys) println(keys) for str8 in dic.values { println(str8 + "") } var values = Array(dic.values) println(values) /* * 控制语句和函数 */ var age1 = 10 if age1 > 18 { println("他已经是成年人") } else if age1 > 12 { println("少年") } else if age1 > 3 { println("童年") } else { println("幼年") } //switch var mode = "飞行" switch mode { case "户外": println("现在为户外模式,音量最大") case "飞行": println("现在为飞行模式,电话无法接通") case "静音": println("现在为静音模式,没有声音") default: println("其他") } var age3 = 3 switch age3{ case 0...3: println("幼年") case 3...12: println("童年") case 12...17: println("少年") case 18...200: println("成年") default: println("该年龄值不合法") } //元组 用小括号 let boy = (10,"boy") switch boy { case (0...20,"boy"): println("男孩") case (21...100,"man"): println("男人") default: println("其他") } let woman = (10,"gril") switch woman { case (let age,"boy"): println("男孩:\(age)") case (let age,"man"): println("男人:\(age)") case (let age,let sex): println("年龄:\(age),性别:\(sex)") } let boy2 = (50,"man") switch boy2 { case let (age,sex) where age < 12 && sex != "boy" && sex != "man": println("女孩:\(age)岁") case let (age,sex) where age > 12 && sex == "man": println("男人:\(age)") case let (age,sex): println("\(sex):\(age)") } //循环结构 var sum = 0 for var i = 1; i <= 100; i++ { sum += i; } println("sum : \(sum)") //for in var sum1 = 0 for i in 1...100 { sum1 += i } println(sum1) //遍历数组 var strArray = ["Swift","Objective","Java"] for str9 in strArray { print(str9 + " ") } //while var sum3 = 0 var i = 0 while i <= 100{ sum3 += i i++ } println("sum3 = \(sum3)") //do-while var sum4 = 0 var j = 0 do{ sum4 += j j++ }while j <= 100 println("sum4 = \(sum4)") var strArray1 = ["Hello","Swift","iOS","Java"] //for str in strArray1{ // if str.hasPrefix("S") // { // continue // } // print(str + " ") //} for str in strArray1 { if str.hasPrefix("S") { break } println(str + " ") } //fallthrough let boy3 = (1,"boy") switch boy3 { case (0...20,"boy"): println("男孩") fallthrough case (2...100,"man"): println("男人") fallthrough default: println("其他") } //函数 func address(a:Int,b:Int) -> Int { return a + b } println("address = \(address(12,36))") var sum5 = address(34,40) println(sum5) var num1 = 12,num2 = 34,num3 = 40 var sum6 = address(num1,address(num2,num3)) println("sum6 = \(sum6)") //无参函数 func showWarnint() { println("警告") } showWarnint() //带参函数 func showWarning(str:String) { println("警告:" + str) } showWarning("内存不足") //参数标签 func showStudentInfo(sname name:String,sAge age:Int,sHeigh heigh:Int,sPhoneNum phoneNum:Int) { println("学生:\(name) 年龄:\(age) 身高:\(heigh) 电话:\(phoneNum)") } showStudentInfo(sname: "张三",sAge: 23,sHeigh: 176,sPhoneNum: 13723561245) func showStudentInfo(#name:String,#age:Int,#heigh:Int,#phoneNum:Int) { println("学生:\(name) 年龄:\(age) 身高:\(heigh) 电话:\(phoneNum)") } showStudentInfo(name: "李四",age: 28,heigh: 180,phoneNum: 13526453212) //最大公约数 func greatestCommondivisor(var a:Int,var b:Int) -> Int { var localC = a % b while localC != 0 { a = b b = localC localC = a % b } return b } println(greatestCommondivisor(72,68)) func leaseCommonMultiple(a:Int,b:Int) -> Int { return a * b / greatestCommondivisor(a,b) } func getResOf(#a:Int,#b:Int,funcAction:(Int,Int) -> Int) -> Int { return funcAction(a,b) } println(getResOf(a:12,b:16,leaseCommonMultiple)) //函数的嵌套 func someCalcAction(#a:Int,#type:Int) -> Int { func greatestCommondivisor(var a:Int,var b:Int) -> Int { var c = a % b while c != 0 { a = b b = c c = a % b } return b } func leaseCommonMultiple(a:Int,b:Int) -> Int { return a * b / greatestCommondivisor(a,b) } //根据type的值返回相应的结果,0表示最大公约数,1表示最小公倍数 switch type { case 0: return greatestCommondivisor(a,b) case 1: return leaseCommonMultiple(a,b) default: -1 } return -1 } println(someCalcAction(a:12,type:0)) println(someCalcAction(a:12,type:1)) println(someCalcAction(a:12,type:2)) //枚举 enum toward : Int { case forward = 10 case back case left = 30 case right = 40 } enum Toward:Int { case Forward,Back,left,Right } let goto = toward.back println(goto.rawValue) //指定枚举为String类型 enum Toward1: String { case forward = "f",Back = "b",left = "l",Right = "r" } println(Toward1.forward.rawValue) println(Toward1.Back.hashValue) //例如:按钮的枚举 enum touchEvent { case touchUpinSIDe case touchDown case touchDoubleClick } //定义一个事件,并指定其类型为touchEvent var event:touchEvent //定义event的事件类型为单击 event = touchEvent.touchUpinSIDe //处理事件 switch event { case .touchUpinSIDe: println("按钮被点击啦") case .touchDown: println("按钮被按下") case .touchDoubleClick: println("按钮被双击") default: println("其他") } //结构体 struct Student { var stuID:Int; var stuname:String var stuSex:Bool var stuPhone:String } struct student { var stuID = 0 var stuname = "" var stusex = true var stuphone = "" } //空的构造方法 var zhang = student() println(zhang) var xiaoli = Student(stuID: 2014050902,stuname: "李雷",stuSex: true,stuPhone: "1380000000") println(xiaoli.stuID) var Perry = student() Perry.stuname = "涩涩的小丑" println(Perry.stuname) //结构体嵌套 struct Teacher{ var tID = 0 var tname = "" } struct ClassRoom { var classID = 0 var classname = "" var classCharge = Teacher() //班主任 } struct Student2 { var stuID = 0 var stuname = "" var stuSex = true var stuPhone = "" var classInfo = ClassRoom() } var zhao = Student2() zhao.stuname = "赵敏" zhao.classInfo.classname = "iOS开发" zhao.classInfo.classCharge.tname = "张三丰" println("学生:\(zhao.stuname) 所在班级:\(zhao.classInfo.classname) 班主任是:\(zhao.classInfo.classCharge.tname)") 总结

以上是内存溢出为你收集整理的Swift 练习全部内容,希望文章能够帮你解决Swift 练习所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1088241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存