swift学习2

字面量

整形字面量

整形字面量可以是一个十进制,二进制,八进制或十六进制常量。二进制前缀为0b,八进制前缀为0o,十六进制前缀为0x,十进制没有前缀。

浮点型字面量

除非特别指定,浮点型字面量的默认推导类型为Double,表示为64位浮点数。

1.25e2表示1.25*10^2

1.25e-2表示1.25*10^-2

0xFp2表示15*2^2(表示F的值乘2的2次方)

0xFp-2表示15*2^-2

浮点型字面量允许使用下划线_来增强数字的可读性,下划线会被系统忽略,因此不会影响字面量的值。同样的也可以在数字前面加0,也不会影响值

字符串型字面量

它中不能包含未转义的双引号,未转义的反斜线,回车符或换行符。

\0空字符
\\反斜线
\b退格
\f换页
\n换行符
\r回车符
\t水平制表符
\v垂直制表符
\'单引号
\"双引号
\0001到3位的八进制数代表的任意字符
\xhh...1到2位十六进制所代表的任意字符

 

运算符

位运算符

这用来对二进制位进行操作,~为取反,&为按位与与,|为按位取或,^为按位与异或(若两个数的的同一位相同返回1),<<按位左移(空位用0填充),>>按位右移。

区间运算符

闭区间运算符:(a...b)定义一个包含a,b的所有值的空间。

半开区间运算符:(a..<b)定义包含a不包含b的所有值的空间。

运算符优先级

指针最优,单目运算优于双目运算。

先乘除(模),后加减。

先算术运算,后移位运算,最后位运算。逻辑运算最后运算。

swift循环

fallthrough语句

这个语句会让case之后的语句按顺序继续运行,不论条件是否满足。(一般不使用)

字符串

空字符串

可以使用空的字符串字面量赋值给变量或初始化一个String类的实例来初始化一个空的字符串。

var stringA = ""

let stringB = String()

可以使用字符串属性isEmpty来判断字符串是否为空。

if stringA.isEmpty{
    print("stringA是空的")
}

字符串常量

var stringA = "字符串"

let stringB = String("字符串")

字符串中插入值

可以包含常量,变量,字面量和表达式。插入的每一项都在以反斜线为前缀的圆括号中。

\(varA)

字符串长度

使用String.count属性来计算

varA.count

Unicode字符串

可以迭代出UTF-8与UTF-16的编码。

for code in unicodeString.utf8{
    print("\(code)")
}

字符串函数及运算符

isEmpty判断是否为空
hasPrefix(prefix:String)检查字符串是否有特定前缀
hasSuffix(suffix:String)检查是否有特定后缀
Int(String)转换字符串为整形
String.count计算字符串的长度
unicodeScalars可以遍历String值的这个属性来访问他的Unicode标量编码

字符

字符是单一的字符字符串字面量,数据类型为Character。

如果在字符类型的常量中存储更多的字符,程序会报错。

不能创建空的字符类型变量或常量。

遍历字符串中的字符

for ch in "Hello" {
    print(ch)
}

字符串连接字符

使用append()方法实现连接。

var varA:String = "Hello "
let varB:Character = "G"

varA.append( varB )

数组

使用有序列表存储同一类型的多个值,相同的值可以多次出现。 

如果创建一个数组并赋值给一个变量,则创建的集合就是可以修改的(可以增删改),如果赋值给常量,数组的大小和内容都不可更改。

创建数组

var someArray = [SomeType]()

//创建初始化大小数组
var someArray = [SomeType](repeating: InitialValue, count: NumbeOfElements)

//类型为Int,数量为3,初始值为0的空数组
//不推荐
var someInts = [Int](repeating: 0, count: 3)

//含有3个元素的数组
//推荐
var someInts: [Int] = [10,20,30]

访问数组

可以根据数组的索引来访问数组的元素

var someVar = someArray[index]

修改数组

可以使用append()方法或者赋值运算符 += 在数组末尾添加元素

var someInts = [Int]()

someInts.append(20)
someInts += [30]

遍历数组

使用for-in循环。

如果要使用每个数据项的值和索引值,可以使用String的enumerate()方法进行数组遍历

for (index, item) in someStr.enumerated(){
    print("在index = \(index)位置上的值为 \(item)")
}

合并数组

使用 + 来合并两种已存在的相同类型数组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值