swift语言笔记

作者: wangbei8855 | 来源:发表于2016-08-06 00:32 被阅读0次

    1.Swift输出语句
    print 不换行
    println 换行

    语法:print(内容)内容包括:常量(数值 字符(字符和字符串)  逻辑) 运算式 变量
    举例:print(123)  print(1.23)    print(12.3)   print(-123)
            print(“a”)   print(“hello”)
            print(true)   print(false)
             print(1+2) print(1-3) print(1*3) print(1/3) print(1%3)(+-*/%)
    

    2.Swift运算符
    print(“a”+”b”)(输出ab,+是字符串的相连)

      (1)赋值:=
      (2)复合赋值:+=  -=  *=   /=  %= 
      (3)数学:+  -  *  /  %(求余数)
      (4)比较:>   >=  ,  <=  ==  !=
      (5)三目: ?:
      (6)范围:..<   ...
      (7)逻辑:&&  //  !
    

    三目运算符举例:Print(1>2 ? 1 : 2)表示1大于2,如果为真就输出1,如果为假就输出2。

    3.Swift变量和常量
    变量的作用是在程序运行时临时保存一个量(数值 字符量 逻辑量)
    要想使用变量就必须先定义它 必须赋过值 变量赋值不能超过它允许的范围

    定义变量的语法:  var 变量的名字:数据类型=值
    定义常量的语法:  let 常量的名字:数据类型=值
    
    Swift的数据类型:
    Int类型:int8(-128到127)  int16  int32  int64
    Uint类型:Uint8  Uint16  Uint32  Uint64
    浮点型: Float   Double
    布尔类型:Bool
    字符类型:Character
    字符串类型:String
    可选类型:Optional
    

    举例:

    (1)var a:Int8//定义一个整型变量a
           a=12    //赋值语句
           println(a)
    (2)var a:Int8=12
           println(a)
    (3)var b:Bool=true
         println(b)
    (4)var ch:Character=”a”
         println(ch)
    (5)var ch:String=”ahjkld”
         println(ch)
    

    4.Swift的条件判断语句if语句

    If 条件
    {
      语句
    }
    

    举例(1):

         var a:int=12
          If a%2==0
         {
           Println(“\(a)是偶数!”)
         }
    

    举例(2):

          var num:Int=12
          If num>0
          {
            Println(“”\(num)是正数)
          }
          If num<0
          {
            Println(“”\(num)是负数)
          }
    

    5.Swift的条件判断语句if else语句

     if 条件
      {
         语句1
      }
      else
      {
         语句2
      }
    

    举例(1):

          var num:Int=12
          If num>0
          {
            Println(“\(num)是正数”)
          }
          else
          {
            Println(“\(num)是负数”)
          }
    

    举例(2):

           var num:Int=66
            If num<60
            {
               Println(“不及格”)
            }
            else if num<80
           {
               Println(“及格”)
           }
            else if num<90
            {
               Println(“优良”)
            }
            else 
           {
               Println(“优秀”)
            }
    

    6.Swift的开关语句switch语句

    Switch 值
    {
     case 值1:
     语句1
     case 值2:
     语句2
     case 值3:
     语句3
     ...
     default
     语句
    }
    

    举例(1):

    var num=5
    switch num
    {
     case 0:
       println(“\(num)是零”)
    case 1:
       println(“\(num)是壹”)
    case 2:
       println(“\(num)是贰”)
    case 3:
       println(“\(num)是叁”)
    case 4:
       println(“\(num)是肆”)
    case 5:
       println(“\(num)是伍”)
    case 6:
       println(“\(num)是陆”)
    case 7:
       println(“\(num)是柒”)
    case 8:
       println(“\(num)是捌”)
    case 9:
       println(“\(num)是玖”)
    default:
       println(“无法转换”)
     }
    

    举例(2):

      var num=89
      switch num/10
     {
       case 0,1,2,3,4,5:
          Println(“\(num)是不及格”)
       case 6,7:
          Println(“\(num)是及格”)
       case 8:
          Println(“\(num)是优良”)
       case 9,10:
          Println(“\(num)是优秀”)
       default:
     println(“无效的分数!”)
     }
    

    举例(3):

       var num=89
      switch num
     {
       case 0..<60:
          Println(“\(num)是不及格”)
       case 60..<80:
          Println(“\(num)是及格”)
       case 80..<90:
          Println(“\(num)是优良”)
       case 90...100:
          Println(“\(num)是优秀”)
       default:
     println(“无效的分数!”)
     }
    

    7.Swift的循环语句for语句
    举例(1):

    for var i=10;i>=1;i--
    {
      println(i)
    }(输出10 9 8 7 6 5 4 3 2 1)
    

    举例(2):

    for a in 1...10(集合)
     {
      println(a)
     }(输出1到10)
    

    举例(3):

    var s=0
    for var i=1;i<=100;i++
    {
     s=s+i
    }
    println(s)
    (从1加100输出5050)
    

    8.Swift的循环语句while语句
    不知道循环次数的循环用while语句

    While 条件
    {
     循环体
    }
    

    举例:

    var s=0
    var i=0
    while s != 3003
    {
      i++
      s+=i
    }
    Println(i)(输出77)
    

    9.Swift的循环语句do while语句

    do
    {
    循环体
    }while 条件
    

    举例:

    var s=0
    var i=0
    do
    {
      i++
      S+=i
    }while s != 3003
    println(i)(输出77)
    

    10.Swift之函数

    使用函数的两种情况:
    1.在程序不同的地方出现了相同的代码,就应该把这个相同的代码做成函数
    2.把大的项目拆分成几个小的模块
    要使用函数,首先要声明函数

    语法:
    func 函数名称(参数的列表)->返回值(数据类型)
    {
      函数要做的事情(语句)
    }
    

    **无参数列表也没有返回值的函数 **(其实就是给代码起个名 ;要使用这个代码,就可以通过名称去调用它)
    举例(1):

    println(“做一件事”)
    println(“做另一件事”)
    println(“做这个事”)
    println(“做一件事”)
    println(“做另一件事”)
    println(“做这个事”)
    println(“做一件事”)
    println(“做另一件事”)
    其中“println(“做一件事”)println(“做另一件事”)”都相同时,就用函数:
    func f1()   //无参数列表也没有返回值的函数** **
    {
      println(“做一件事”)
      println(“做另一件事”)
    }
    f1()
    println(“做这个事”)
    f1()
    println(“做这个事”)
    f1()
    

    有一个参数有一个返回值的函数
    举例(1):

    func isPrime(n:Int)->Bool  //求素数
    {
      var b:Bool=true
      for i in 2..<n
      {
    if n%i==0
    {
      b=false
      break
    }
      }
      return b
    }
    println(isPrime(11)) 输出true
    

    举例(2):

    var c=0  //计数器
    for i in 100...999  //产生所有的三位数
    {
      if isprime (i)   //如果是素数
     {
       c++
      print(“\(i)\t”)  //显示出来
      if c%10==0  //如果每行是10个数
      {
        println()  //就换行
        }
      }
    }(输出100到999的所有素数,且每行10个数)
    

    有多个参数有一个返回值的函数
    举例:

    func add(var a:Int,var b:Int)
    {
      return a+b
    }
    var a=1
    var b=2
    var s=add(a,b)
    Println(s)
    

    有多个参数有多个返回值的函数
    举例:

    func sum(var n:Int,b:Bool)->Int
    {
      var s:Int
      if b==true
      {
        s=0
      }
      else
      {
        s=1
      }
      for i in 1...n  
      {
        if b==true
       {
         s+=i  //如果b为真就求和
       }
       else
      {
        s*=i  //如果b为假就求乘积
      }
     }
    return s
    }
    

    11.Swift之数组
    数组类型 [数据类型]
    举例:var arr:[Int]=[1,2,3]
    举例:

    func sum(n:Int...)->Int  //动态数组
    {
      var s=0
      for a in n
      {
        s+=a  //求和
      }
      return s
    }
    println(sum(1,2))(输出3)
    println(sum(1,2,3)) (输出6)    
    

    12.Swift之元组
    元组:把不同的数据组织在一起
    语法:(数据类型,数据类型...)//小括号
    举例(1):

    var yz:(Int,Int)=(1,2)
    println(yz)(输出(1,2))
    println(yz.0)(输出1)
    println(yz.1)(输出2)
    

    举例(2):

    var yz:(Int,Int)=(1,2)
    var (a,b)=yz
    println(a)(输出1)
    println(b)(输出2)
    

    举例(3):

    var yz=(x:1,y:2)
    println(yz.x)(输出1)
    println(yz.y)(输出2)
    

    举例(4):

    var student = (name:“张三”,age:22,sex:“男”,fy:4600)
    println(student.name)
    

    13.Swift之函数与元组
    举例:

    func** **f()->(Int,Int)  //返回值是一个元组
    {
      return (1,2)
    }
    var (a,b)=f()
    println(a)(输出1)
    

    举例:

    func sumAndmuti(n:Int)->(Int,Int)  //返回值是一个元组
    {
      var s=0
      var ss=0
      for a in 1...n
      {
         s+=a
         ss*=a
      }
      return (s,ss)
    }
    var rr=sumAndmuti(4) 
    println(rr)(输出(10,24))
    

    14.Swift之变量生命周期

    全局变量:定义在所有函数外面的变量
    局部变量:定义在大括号里面的变量

    15.Swift之函数的嵌套

    元组不能用==去比较,可以用switch语句去比较,举例:
    var yz:(Int,Int)=(1,2)
    switch yz
    {
      case (1,1):
         println(“是(1,1)”)
      case (_,2):
         println(“是(_,2)”)
      default:
         println(“不是(1,1)”)
    }
    

    在swift语言中,函数是可以嵌套的,可以使用被嵌套函数的数据,嵌套的函数只能被嵌套的那个函数调用,不能被外边调用。

    函数的嵌套举例:

    func f()
    {
      var a=123
      func ff()
      {
        println(a)
      }
     ff()  //函数的调用
    }
    f()   //函数的调用
    

    16.Swift之枚举和关联值

    枚举属于自定义的数据类型

    语法:enum 枚举的名称
         {
          case 名称
          case 名称
          ...
         }
    

    举例:

    enum xingqi  //定义星期的枚举
    {
      case xingqi1 //里面有七个值
      case xingqi2
      case xingqi3
      case xingqi4
      case xingqi5
      case xingqi6
      case xingqi7
    }
    var xq=xingqi.xingqi1 //定义一个星期的变量
    xq= .xingqi2  //前面要有一个点
    switch xq
    {
      case .xingqi1: 
         println(“星期一”)
      case .xingqi2:
         println(“星期二”)
      case .xingqi3:
         println(“星期三”)
      case .xingqi4:
         println(“星期四”)
      case .xingqi5:
         println(“星期五”)
      case .xingqi6:
         println(“星期六”)
      case .xingqi7: 
         println(“星期日”)
    }(xq=  .Xingqi2时输出星期二)
    (七种都罗列里面就不需要default,罗列不到七种,就需要default)
    

    ** 关联值**举例:

    enum huowu
    {
      case bianhao (Int,Int)
      case mingcheng (String)
    }
    var aa=huowu.bianhao(10,10)
    switch aa
    {
    case  .bianhao (let b,let c):
      println(“b=\(b),c=\(c)”)
    case  .mingcheng (let b)
      println(“b=\(b)”)
    }
    (当aa=huowu.bianhao(10,10)时,输出b=10,c=10)
    (当aa=huowu.mingcheng(“kangshifu”)时,输出kangshifu)
    

    17.Swift之结构体和类

    结构的语法:
    struct 结构的名称(首字母应该大写)
    {
    属性(变量的定义)(驼峰)用来保存东西
    方法(函数的定义) 用来提供功能
    }

    类的语法:
    class 结构的名称(首字母应该大写)
    {
    属性(变量的定义)(驼峰)用来保存东西
    方法(函数的定义) 用来提供功能
    }

    定义结构举例:

    struct  Student
    {
      var name:String
      var age:Int
      func say()
      {
        Println(“我叫\(name),今年\(age)岁了”)
      }
    }
    实例化结构:
    var zs=Student(name:”张三”,age:20)  //初始化
    zs.say()
    运行程序得到(我叫张三,今年20岁了)
    

    定义举例:

    class  Student
    {
      var name =”无名氏”
      var age =1
      func say()
      {
        Println(“我叫\(name),今年\(age)岁了”)
      }
    }
    实例化类:
    var s=Student()  //初始化
    s.name=”张老三”
    s.age=22
    s.say()
    运行程序得到(我叫张老三,今年22岁了)
    

    结构和类的区别:
    1.结构是值的类型,赋值的时候是拷贝。类是引用的类型,赋值的时候是引用。
    2.结构的常量实例,无论是变量还是常量属性,都是常量型的,不能在赋值了。
    类的常量实例,常量属性不能再赋值,但是变量属性仍然可以再赋值
    结构的属性
    1.对于结构变量型实例来说,变量型的属性随时可以赋值,但对于常量型的属性只能在定义时和初始化时去赋值,以后再也不能赋值了。
    2.对于结构常量型实例来说,变量型的属性和常量型的属性都只能在定义时和初始化时去赋值,以后再也不能赋值了。

    相关文章

      网友评论

        本文标题:swift语言笔记

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