swift(1)

作者: 艾克12138 | 来源:发表于2016-06-25 20:57 被阅读18次

import Foundationprint("Hello, World!")

//在swift中使用print输出

//1.定义一个(常量let ;变量var)

///定义常量

//let myName = "斌斌"//

//myName = "乐乐"  

//let修饰的常量是不能被改变的.

//print(myName)////定义一个变量

// var myage = 30  

//(var修饰的可以被改变)

//myage = 20

//print(myage)

////swift 定义变量或者常量时候,需标识出变量或者常量的类型如果没有,那么编译器会自动推断类型//let name = "duke"  

//会自动推断为string类型,决定后面的值来决定name的类型//                  

//let name : String = "duke"  由前面类型string来决定后面付什么值,后面要和前面类型一致

//let age:Int = 30  

 //如果使用了let修饰,必须付初值.如果是使用var修饰可以不用赋初值;

//var age1: Int?    

//?好表示当前age1是可选类型其值可以为空

//print("----",age1)

////定义一个字符类型的变量

//var char:Character = "A" 

//此时char就是一个字符,其值也是用""括起来,只能放一个字符

////定义一个bool类型的变量(值只有ture和false)

//var flag:Bool = true/*** 字符串string  ***

///(1)创建一个空字符串变量//var str_empty = ""

//var str1_empty = String()

////(2)通过字符串对象的isempty方法判断是否为空

//if str_empty.isEmpty{//if后面的判断条件(表达式,方法..)的返回值,必须是bool类型,不再用括号;

//    print("str_empty is empty")

//    //}

////字符串的拼接var str_city = "西安"var str_class = "ios 8班"let classname = str_city + str_class

//拼接用+号来拼接print("我们是:\(classname)")

//插入式取值print("我们是:",classname)

////(4)获取字符串的长度

//var str1:String = "abc"

//print(str1.characters.count)

////(5)字符串比较

//let str2 = "张凡"

//let str3 = "张凡"//if str2 != str3{

//    print("两个不相等")

//}/***数组(array)  ***

///swift中的数组里面存储的所有数据都必须是同一种类型的,如果需要使用不同类型的数据可以使用OC的NSarray

//定义一个数组变量

//var namearray = ["张凡","张恒","张华"]

//print(namearray)

//var nameArray1:Array= ["张凡","张恒","张华"]

//print(nameArray1)

////定义一个空数组变量

//var array_empty:Array= Array()

//var array1_empty = Array()

//定义一个字符串类型的空数组

//var int_array = [Int]() 

//定义一个整形空数组

//print(array_empty)

//print(array1_empty)

//print(int_array)

////访问数组中的某个元素

//print("第二个元素:\(namearray[1])")

////向数组中添加一个元素

//int_array.append(10)

//int_array.append(20)

//print(int_array)

////使用运算符向数组中添加一个元素

//int_array += [30]//print(int_array)

////使用运算符徐昂数组中添加多个元素

//int_array += [40,50,60]

//print(int_array)

////在数组中某个位置插入一个元素

//int_array.insert(5, atIndex: 0)

//print(int_array[0])

//////移除某个位置上元素

//int_array.removeAtIndex(0)

//print(int_array)

////移除所有元素

//int_array.removeAll()

//print(int_array)/***字典 ******************************************

///var dic1:Dictionary= ["a":10,"b":20]//print(dic1)

//var dic2_empty:Dictionary= Dictionary()

//print(dic2_empty)//var dic2:Dictionary= [:]

//var dic3 = Dictionary()

////向字典中添加键值对

//dic1["c"] = 30

////修改字典中的某个值

//dic1["a"] = 50

////删除字典中的一个键值对

//dic1.removeValueForKey("a")

//print(dic1)

/**************/////  元祖////***********/

//定义一个元祖  元祖:可以存放多种不同类型的元祖

//方法一:直接初始化.通过隐式类型推断每一个元素的类型

//let status = ("蓝鸥8班",["ios","html"])

//print(status)

////方法二:显示标识类型

//let status2:(String,Array) = ("蓝鸥8班",["IOS","HTML"])

//print(status2)

////取出元祖中的值得方法

////方法一:直接赋值给常量,并通过使用标记名来获取对应的值

//let status_info:(className:String,course:Array) = status

//print(status_info.className)

//print(status_info.course[0])

////方法二:直接通过下标获取元素的值

//var string = status.0+status.1[0]+status.1[1]

//print(string)

/***************循环*/

//第一种形式

//for var i = 1 ; i<10 ; i++ {

//    print(i)

//

//}

//第二种形式

//for i in 1..<10 {

//    print(i)

//}

//for i in 1...10{

//    print(i)

//}

//while 循环

//var i = 5

//while i>0{

//    i-=1

//    print(i)

//}

//repeat while

//repeat{

//    print("repeat while")

//

//}while i<0

//

////使用for循环遍历字典

//var animalsdic = ["dog":"🐶","pig":"🐷"]

//for (key,value) in animalsdic{

//    print("key = \(key),value =\(value)")

//}

////用for循环遍历数组

//var animasNane = ["dog","pig","cat","fish","duck","tiger","cow"]

//for name in animasNane{

//    print(name)

//}

/*练习题  //创建一个存储学生信息的字典,里面的key值包含学号、姓名、性别、年龄。

//创建一个学生的数组,将存储该学生信息的字典存入到数组中。

//创建一个元组,将上述两道练习题中的字典和数组放到新的元组中,并打印输出。

var studentdic = ["学号":1,"姓名":"国栋","性别":"man","age":22]

print(studentdic)

var studentarray = [studentdic,studentdic]

print(studentarray)

var yz = (studentdic,studentarray)

print(yz)*/

//********分支结构*******/

// if结构

//let flag = true

//if flag == true {

//    print("true")

//}else{

//    print("false")

//}

//

////switch case  特点:switch实现贯穿,使用关键字fallthrough

//let value = 0

//switch value{

//case 0:

//    print("0")

//    fallthrough

//case 1:

//    print("1")

//case 2:

//    print("2")

//default:

//    print("other")

//}

////特点2 :case后面可以是一个范围

//switch value {

//case 0..<10:

//    print("范围在0到10之间")

//case 10...100:

//    print("范围在10-100之间")

//default:

//    print("其他")

//}

//

////特点三 :case后面可以定义一个变量(let var都可以)

//switch value {

//case var i where value>=0 && value<10:

//    i=20

//    print(i)

//default:

//    print("other")

// }

//

////特点4: case后面跟元祖

//let point = (10,10)

//switch point {

//case (_,10): //下划线表示任意值

//    print("case1")

//case (10,0):

//    print("case2")

//case (10,10):

//    print("case3")

//default:

//    print("other")

//

//}

/******************枚举*******/

//原始类型是INT类型的枚举

//enum Direction:Int {

//    case east = 0

//    case west = 1

//    case south = 2

//    case north = 3

//}

//print(Direction.east.rawValue)

//print(Direction.west.rawValue)//rawvalue打印原始值

//print(Direction.south.rawValue)

//print(Direction.north.rawValue)

////原始类型是string类型的枚举

//enum season:String {

//    case spring = "春天"

//    case sumer = "夏天"

//    case winter = "冬天"

//

//}

//print(season.spring.rawValue)

//

//let dir = Direction(rawValue: 2) //表示取得是原始值为2的那个枚举(south)

//print(dir!)//加感叹号表示肯定有值

/*********************函数************************/

//表示函数的关键字 func

//如果要重写父类的方法. 那么需要在前面加override

//1.无返回值,无参数的函数

//func func1() -> Void {

//    print("无返回值,无参数")

//}

//func func1() {

//    print("无返回值,无参数")

//}

//

//func1()

//

////2.无返回值有参数

//func function2(str str:String) {

//    print(str)

//}

//function2(str: "蓝鸥")

//有返回值,无参数

//func func3() ->String {

// return "国栋"

//}

// //print(func3())

////有返回值有参数

//

//func func4(a a:Int,b:Int) ->Int {

//    return a+b

//}

//  print(  func4(a: 2, b: 3))

////5.返回值为元祖类型 (利用元祖实现多个值)

//func func5(a a:Int,_ b:Int) ->(Int, Int, Int) {

//    return (a+b,a-b,a*b)

//}

//print(func5(a: 3, 2))

/********************inout*****************/

//参数默认是常量 let

//在参数前面添加var修改就可以修改

//如果参数使用inout来修饰就成了输出参数,在函数内部修改参数,可以影响外部变量的值

//func test(inout name:String) {

//    name = "张华"

//    print(name)

//}

//var strname = "许仙"

//test(&strname )

//

////函数嵌套

//

//func test1(){

//    func test2(){

//      func test3(){

//            print("test3")

//        }

//        test3()

//        print("test2")

//    }

//    test2()

//    print("test1")

//}

//test1()

相关文章

网友评论

      本文标题:swift(1)

      本文链接:https://www.haomeiwen.com/subject/oyiodttx.html