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.对于结构常量型实例来说,变量型的属性和常量型的属性都只能在定义时和初始化时去赋值,以后再也不能赋值了。
网友评论