Swift 笔记1
Swift最基本的语法变化
-
导入框架 import UIKit
-
定义标识符时,必须声明该标识符是变量还是常量声明标识符的
格式:变量/常量关键字 名称 : 数据类型 -
语句结束时不需要加 ;如果同一行有多个语句,则依然需要加
但是不建议一行多条语句 -
Swift中的打印语句: print("打印的内容")
什么是常量和变量
- 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量
1.使用let来定义常量,定义之后不可以修改
2.使用var来定义变量,定义之后可以修改
注意:
在真实使用过程中,建议先定义常量,如果需要修改再修改为变量(更加安全)
是指向的对象不可以再进行修改.但是可以通过指针获得对象后,修改对象内部的属性
类型推导
Swift是强类型的语言
Swift中任何一个标识符都有明确的类型
注意:
1.如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.
2.因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型 可以通过option+鼠标左键 来查看变量的数据类型
Swift中基本运算
1.Swift中在进行基本运算时必须保证类型一致,否则会出错相同类型之间才可以进行运算
因为Swift中没有隐式转换
2.数据类型的转化Int类型转成Double类型:Double(标识符)
Double类型转成Int类型:Int(标识符)
let a = 10
let b = 3.14
// 错误写法
//let c = a + b
//let c = a * b
// 正确写法
let c = Double(a) + blet
d = a + Int(b)
if分支语句
和OC中if语句有一定的区别判断句可以不加()
在Swift的判断句中必须有明确的真假不再有非0即真
必须有明确的Bool值
Bool有两个取值:false/true
guard的使用
guard语句必须带有else语句,它的语法如下:当条件表达式为true时候跳过else语句中的内容,执行语句组内容
条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
guard 条件表达式 else { // 条换语句
break}
语句组
switch分支
基本用法和OC用法一致
不同之处:switch后可以不跟()
case后可以不跟break(默认会有break)
简单使用补充:
1.一个case判断中,可以判断多个值
多个值以, 隔开 如果希望出现之前的case穿透,则可以使用关键字fallthrough
2.什么是区间?通常我们指的是数字区间:010,100200
3.swift中的区间常见有两种半开半闭区间:0..<10 表示:0~9,不包括10
闭区间:0...10 表示:0~10
let score = 88switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("几个")
case 80..<90:
print("良好")
case 90..<100:
print("优秀")
default:
print("满分")
}
循环的介绍
- 在开发中经常会需要循环
- 常见的循环有:for/while/do while.
- 这里我们只介绍for/while,因为for/while最常见
for循环的写法
- 最常规写法
// 传统写法
for var i = 0; i < 10; i++ {
print(i)
}
- 区间for循环
//半开半闭区间
for i in 0..<10 {
print(i)
}
//闭区间
for i in 0...10 {
print(i)
}
- 特殊写法如果在for循环中不需要用到下标i
for _ in 0..<10 {
print("hello")
}
while和do while循环
- while循环
- while的判断句必须有正确的真假,没有非0即真
- while后面的()可以省略
var a = 0
while a < 10 {
a++
}
- do while循环使用
- repeat关键字来代替了do
let b = 0
repeat {
print(b)
b++
} while b < 20