swift语言笔记


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..

举例(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语言笔记)