swift学习笔记3-4

作者:网络    软件教程库   2020-05-15

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

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

三、运算符+表达式

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

cd println("c大于d"):(cdprintln("c小于d"):println("c等于d"))

nil 合并运算符: ??

ab 判断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 age40{

println("中年人")

}else if age20{
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 x0 y0:

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

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

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

for var b= 0,s=0,p =0; b10 s4 p10;p++

{

}

return 可以结束整个方法 函数

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

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

swift学习笔记3-4

原文地址:http://www.cnblogs.com/heri/p/4471486.html

软件教程库 原文地址:https://www.itjcku.com/9999/1091428.html

阅读全部内容


Tags:学习笔记

返回首页



推荐内容

Trie树初学

#includelt;cstdiogt; #includelt;cstringgt; #includelt;cstdli ...

Android--状态栏高度

干货 classlt;gt; c = null; object obj = null; field field = n ...

//hdu2222//AC自动机初学

// hdu2222 // #includelt;cstdiogt; #includelt;cstringgt; #in ...

黑书笔记

就从p77开始记好了.(稍微扩容) p77 排序. 1.香农信息论 基于比较的排序不可能突破o(nlogn)的复杂度限制 ...

//codeforces471D//kmp初学

// codeforces 471d // #includelt;cstdiogt; #includelt;cstrin ...

搭建基于域名虚拟主机

修改主配置文件 # cd /etc/httpd/conf.d/ # vim vhost.conf lt;virtu ...

Mysql5.6.24zip解压缩版配置及修改默认编码方法

win64位下载地址: http://dev.mysql.com/downloads/file.phpid=456319 ...

图片的预加载和按需加载

图片预加载 lt;!doctype htmlgt; lt;htmlgt; lt;headgt; lt;meta htt ...

iPhone/iPad程序怎么禁止自动休眠

//禁止自动休眠可以通过这一句话搞定:[uiapplication sharedapplication].idletim ...

普林斯顿《算法II》第一周学习笔记UndirectedGraph

普林斯顿的算法课是cousera上评价挺高的一门课,课程的教学语言用的是java,课程中的算法都会被封装成类的形式,对于 ...

headFirst学习笔记之九:迭代器与组合模式(5.1)

1.任务: 大新闻!对象村餐厅和对象村煎饼屋合并了!可以在同一个地方吃早饭和午饭了hohoho(有什么好开森的对象村的小 ...

IOSapplicationWillResignActive

一、挂起当有电话进来或者锁屏,这时你的应用程会挂起,在这时,uiapplicationdelegate委托会收到通知,调 ...

哥我要向前看了

七年前的五一节前的那个周六,我遇到生命中一个重要的人。虽然相处短暂,好梦不长,但是回忆丰满,念念不忘。 七年后的五一节, ...

GoldSmith第二章

uhf:特高频 300m-3000mhz shf:超高频 3g-30g 所有发射与接收的信号都是实信号(因为调制器的振荡 ...

动态规划总结【模板】

最长递增子序列 给定一个序列,找到最长子序列的长度,使得子序列中的所有元素被排序的顺序增加。 1.求最长递增子序列的 ...

HDUACM1103Flo'sRestaurant

分析:借助stl的min_element实现。每次更新最先被占用的桌子,具体见注释。 #includelt;iostre ...

【翻译自mos文章】Oracledb12c中,每次日志切换时,会改变alert_sid.log的权限

12c中,每次日志切换时,会改变alert_sid.log的权限 来源于: alert log file‘s perm ...

poj1988(并查集)

题意:有30000个木块,编号从1到30000,然后有两种操作m a b,把木块a所在的堆块放到木块b所在的堆块上,操作 ...

org.hibernate.exception.GenericJDBCException:Couldnotopenconnection

1、错误描述 org.hibernate.exception.genericjdbcexception: could ...

ubuntu下mysql导出数据

使用的是workbench,原因时workbench的导出工具mysqldump和mysql的版本不一致,这个时候手动指 ...

怎样看懂女人哪些最直接的肢体暗示,撒娇

主动拥抱。 拥抱是最简单却十分亲密的身体接触,女人在想亲热时,会主动寻求拥抱,向伴侣靠近。如果她躺在你的怀抱中,并用语言 ...

移动后端云平台Bmob介绍

对于移动端的独立开发者来说,最痛苦的事情莫过于搭建后台服务器。没有基础的还得从头学起,有技术的又要搭建维护后台,非常 ...

WAMP配置虚拟主机

问题背景:从网上下载了一个php项目a,a项目需要部署在网站的根目录下。配置虚拟主机可以解决这个问题。1.打开apach ...

java克隆测试

1.person类 1 //clone方法必须实现cloneable接口 2 public class perso ...

C++string中用于查找的find系列函数浅析

总述:以下所讲的所有的string查找函数,都有唯一的返回类型,那就是size_type,即一个无符号整数(按打印出来的 ...

Savingoutputofagrepintoafilewithcolors

19 down vote favorite 7 i need to save the result o ...

hibernate异常之QueryException

org.hibernate.queryexception: expected positional parameter ...

Redis的Python客户端redis-py的初步使用

1. 安装 sudo pip install redis sudo pip install hiredis pa ...

《构建高性能Web站点》笔记

书名:构建高性能web站点 出版社: 电子工业出版社 isbn:9787121170935 一 绪论 等待的时间: ( ...

制作OSX10.10.3启动安装U盘

1.获得install os xyosemite.app 2.准备一个8gb的u盘,用磁盘工具抹掉,格式默认的mac o ...


本网站部分内容来自互联网,版权归原作者所有,文章内容仅代表原作者个人观点。如有侵权请联系我们删除 电子邮件 itjcku@foxmail.com