swift基础之<二>
来源:互联网 发布:别人的淘宝账号查询 编辑:程序博客网 时间:2024/04/29 23:47
//类型安全,swift中不支持隐式转换//var c = 100//var c1 = 100.85////let res = c + c1//总结:swift 中不同数据类型,不能赋值和运算//---------循环语句---------//for in /for/while/ do whilevar sum_1 = 100while(sum_1 > 50){ //-- ,++ 不能空格 sum_1-- print("sum_1 \(sum_1)")}//do while repeat{ sum_1-- print("sum_1 \(sum_1)")}while(sum_1 > 50)//总结:do while 换成了repeat while 其他语法没有改变//分支语句// if elsevar girlfriend = (name:"XXX",age:30)if girlfriend.age <= 18{ print("too young too naive")}else if girlfriend.age > 18 && girlfriend.age <= 22{ print("I want you")}else if girlfriend.age > 22 && girlfriend.age <= 30{ print("not bad")}else{ print("OMG")}//Switchlet source = 68;switch source{case 0..<60: print("不及格")case 60..<80: print("及格") fallthroughcase 80..<90: print("良好")case 90..<100: print("优秀")case 100: print("满分")default : print("输入有误")}//Switch判断条件可以是字符串let let_str = "lee"switch let_str{ case "zz": print("doubi") case "lee": print("cool")default: print("yeah")}let point = (0,0)switch point{case (0,0): print("原点")case(0,_)://占位符_ print("y轴上")case(_,0): print("x轴上")default: print("其他")}/*1:switch不需要加break,也就是默认没有贯穿,判断条件不用加()2: 如果想实现贯穿需要加 fallthrough3: switch可以以字符串和元组作为判断条件*///----------函数----------//1.无参无返回值函数func method1() ->Void{}//省略版 无参无返回值函数func method2(){ print("我是无参无返回值的函数")}//2:无参有返回值func method3() ->String{ return "wp"}let func_str = method3()print(func_str)//3.有参无返回值func method4(A:Int,B:String,C:Float) ->Void{}//4.有餐有返回值func method5(A A:Int,B:Int) ->Int{ if A > B { return A }else { return B } // return A > B ? A : B}let func_int1 = method5(A : 100, B : 25)print(func_int1)//5.有参有返回值(返回多个值)func method6 (name:String,age:Int,gender:String) ->(String,Int,String){ return("ez",18,"boy")}print(func_int1)let fun_str_2 = method6("s", age: 12, gender: "female")print(fun_str_2.0)//交换函数参数的值(如果改变参数函数,需要在参数前面加一个关键字:inout)func method7(inout A:Int,inout B:Int) ->Void{ let temp = A A = B B = temp}var A = 100var B = 999method7(&A, B: &B)print(A)//---------------------------枚举-----------------------enum Season : Int{ case Spring = 0 case Summer case fall case winter}//根据C语言对比,枚举多了Case关键词,不用加逗号“,” Swift中枚举为 int 类型的, 不会默认从0开始let enum_1 = Season.Spring//typealias Newname = Seasonswitch enum_1{case.Spring: print("春天")case.Summer: print("夏天")case.fall: print("秋天")default: print("冬天")}print(enum_1)//总结:Switch用枚举作为判断条件,case后面是用“.”来获取枚举的值//switch中,当所有case条件满足,default可以省略,若不满足必须加default//第二种枚举(可以用字符串定义枚举值)enum Season2:String{ case Spring = "春天" case Summer = "夏天" case Autumn = "秋天" case Winter = "冬天"}//----------------结构体--------------// Swift结构体,相当于swift中的类。结构体是值类型(重新拷贝一份值,修改拷贝的值对原来的值没有影响,类是引用类型(共用一个内存地址,原值会改变影响新值)struct Person { //对象的属性 var name: String var age : Int //对象的方法 func sayHello()->Void { print("你好") } //类方法 static func sayHi() ->Void { print("HI") } //类属性 static var personName:String?}//生成一个对象let per1 = Person(name: "z", age: 21)//调用对象方法per1.sayHello()//输出对象的名字print(per1.name)//调用类方法Person.sayHi()Person.personName = "lisi"var p1 = Person.init(name: "lol", age: 111)var p2 = p1print(p2.name)p1.name = "zzz"print(p2.name)print(Person.personName!)//类class Student { var name: String?//类,声明属性必须用可选方法 var age: Int? func sayFuck()->Void { print("fuck") } static var studentName:String?}var stu1 = Student()stu1.name = "www"stu1.age = 35var stu2 = stu1print(stu2.name)stu1.name = "hole"print(stu2.name)
0 0
- swift基础之<二>
- Swift编程基础之排序(二)
- swift详解之二 ------- swift中的几种基础类型
- Swift 基础语法二
- Swift基础学习二
- Swift基础(二)
- Swift基础二
- Swift基础二
- Swift开发基础 二
- Swift学习---基础二
- iOS Swift 基础二
- swift笔记--基础(二)
- 从零开始学swift(二)-基础语法之语法篇
- OC转Swift之基础篇(二)--函数
- Swift专栏:Swift基础入门(二)
- swift之GCD(二)
- swift之Button基础
- swift基础之协议
- 封装好的网络请求类
- 结构体的嵌套问题
- 全排列问题
- 从25匹马中选5匹最快马
- Windows 命名管道 + 异步I/O模型
- swift基础之<二>
- nyoj 阶乘之和 91 (数学)
- B\S备忘录30——权限的控制按钮思路,看清楚是思路。
- C++对C的增强
- 中缀表达式转化为后缀表达式
- 010.新职员部门分配
- kvm安装ghost xp非常的慢原因以及全屏问题
- hdu2101 A + B Problem Too
- Java中的访问控制public,private,protected,package