• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift学习笔记3-4

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

再牛逼的梦想,也抵不住你傻逼似的坚持!

我跑啊跑啊,为的就是赶上那个被寄予厚望的自己。

三、运算符+表达式

swift允许重载运算符,比如 “+”你可以重载它

后续会详细介绍

赋值运算符 pass

算数运算符  大部分 pass,只说特殊的

19/4 结果是4 而不是5   //截断取整

借助ANSI C标准库中的<math.h> 中的数学函数 完成复杂数学运算

import Foundation

var b = pow(3.2,5)  //3.2的5次方

var c = sqrt(3.2) //平方根

0~10的随机数    var d = arc4random() %10

var e = sin(1.57)  //1.57当成弧度

- 求负

溢出运算符 ,对溢出数据位进行截断,程序更加健壮

&+ ,&-,&*,&/,&%

有符号整数,最高位是符号位,0代表正数,1代表负数。

计算机 以补码的形式保存整数,正数的补码和源码相同,负数的补码 = 反码+1     (按位取反,最高位不变)

位移运算符

左移N位相当于乘以2的N次方,右移则是除以2的N次方。

范围运算符
a...b  包括 a,b边界。for in会用到

var range = 2...6

for num in range

{

pringtln(num*5)

}

a..<b  遍历数组的时候用(你懂的,因为从0开始嘛)

let books = ["oc","swift","java","go"]

for index in 0..<books.count

{

println(books[index])

}

比较运算符:=== 判断引用类型的变量,引用同一个对象时返回ture了

逻辑运算符

两个的 会短路:就是前边表达式判断完,后边就不判断了,没有执行的机会,直接得出结果

&& 与  有false则false

& 与 但是 不会短路

三目运算符

var c =5 ,d = 5

c>d ?println("c大于d"):(c<d?println("c小于d"):println("c等于d"))

nil 合并运算符: ?? 

a??b 判断a是否为nil,不为nil,返回a值,为nil,则返回默认b值,要求类型必须一致!

例  let defaultName = "renhairui"

var name:String?= "engineer"

println(name ?? defaultName)   // 输出 engineer

var nameNil :String?

println(nameNil ?? defaultName)  // 输出 renhairui

其实  a ?? b 相当于  a !=nil ?a!:b

四、流程控制

分支结构

循环结构

if else 要先处理范围小的情况

var age = 45

if age >60

{

println("老年人")
}

else if age>40{

println("中年人")

}else if age>20{
println("青年人")

}

switch  不会继续执行下一个case

var score = "c"

switch score

{
case "a","A":

println("优秀")

fallthrough  贯穿

default:

break 直接忽略

}

 

var score = 87

switch score{

case 91...100:

println("优秀")

case 同理

}

var somePoint = (x:1,y:-4)

switch somPoint

{

case (0,0):

println("原点")

case(_,0):

println("X轴")

case(0,_):

println("Y轴")

case(0...Int.max,0...Int.max):

println("第一象限")

}

case 值绑定

var score= 178

switch score

{

case 91...100:

println("youxiu")

case 0..<60:

println("")

case let grade:

println("输入的成绩\(grade)不合法")

 

}

var somePoint = (x:2,y:0)

switch somePoint

{

case (0,0):

println()

case(var x,0):

println("位于X轴上,x值为\(x)")

case(0,var y):

println("位于Y轴上,y值为\(y)")

case(x,y):

println("位置为:\(x),\(y)")

}

where给case增加额外的判断条件

case var(x,y) where x>0 && y>0:

println("\(x),\(y)位于第一象限")

循环体:被重复执行的代码

for 循环 可以同时指定多条初始化,也可以是一个包含逻辑运算符的表达式

for var b= 0,s=0,p =0; b<10 && s<4 &&p<10;p++

{

 

}

return 可以结束整个方法 函数

break  完全结束一个循环,跳出循环体,无论在那种循环。

continue 忽略本次循环的剩下语句

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode854.相似度为K的字符串|K-SimilarStrings发布时间:2022-07-13
下一篇:
[Swift]LeetCode64.最小路径和|MinimumPathSum发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap