Swift学习笔记(二)——常量与变量
这篇博客将会学习到Swift中的常量Constants和变量Variable。这是学习语言的基础。当中能够看到Swift每句后面基本都是没有;分号的,假设有加;分号的习惯,也能够加上。
(1)常量声明:Swift将会使用keywordlet来声明一个常量。
定义常量之后不能再进行改动,否则会报错。
let maxNum = 100
maxNum = 200 //这里会报错,常量值不能进行改动。
(2)变量声明:Swift将会使用keywordvar来声明一个变量,变量的值能够改变。
var minNum = 1
minNum = 2 //能够改动变量的值
(3)能够在同一行声明多个常量和变量,中间用。逗号分隔,像C语言一样。
var x=1.0,y=2.0,z=3.0
(4)Swift是一个类型安全的语言。通过var定义的变量会进行类型检查。
var maxNum = 100 //此时默认maxNum是一个整型
maxNum = "Hello" //会报错。不能给整型赋值字符串
(5)变量也能够在声明的时候直接指定类型。例如以下就指定为字符串。
var myName:String
myName = "Jack"
(6) 同一时候也能够在同一行声明多个指定了类型的变量。
var red,blue,green:Int
red=1
blue=2
green=3
(7)基本数据类型:Int ,Double,Float。String
当中整型其它还有Int8,Int16,Int32,在一般的编程中Int就足够了。详细差别能够參考Swift官方文档。
Double是32位的浮点数,一般能够精确到小数点后面15位;
Float是16位的浮点数。一般能够精确到小数点后面6位;
String是字符串类型,也是用“双引號”括起来的,与Java比較像。与OC要区分。前缀不须要@符号。
(8)Swift也支持使用不同进制来定义Int类型,能够使用二进制。八进制,十进制。十六进制。
let decimalInt:Int = 17//十进制表示整型,直接写数字即可
let binaryInt:Int = 0b10001//二进制表示整型,数字要以0b打头
let octalInt:Int = 0o21//八进制表示整型。数字要以0o打头
let hexadecimalInt:Int = 0x11//十六进制表示整型。数字要以0x打头
Swift中输出结果例如以下:表示的数字都是十进制下的17。
(9)Swift也能够使用科学计数法来表示浮点数。
let float_normal = 0.012
let float_science = 1.2e-2
输出结果例如以下:符合我们的预期。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
(10)相同也能够在使用科学计数法的时候指定浮点数类型。
let normal:Double = 0.012
let science:Double = 1.2e-2
输出结果同上。
(11)方便的表示大数的方法。中间使用_下划线隔开。
使看起来更加简洁。
let bigNumA = 100000000 //原始的表示方法
let bigNumB = 100_000_000 //外国人喜欢的表示方法
let bigNumC = 1_0000_0000 //中国人喜欢的表示方法
输出结果:符合我们的预期。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">。
(12)当然,整型也是能够用科学计数法表示的。
let intNormal = 1000
let intScience = 1.0e3
输出结果例如以下:
(13)类型转换:Swift不支持不同类型的相互运算。如整型和浮点型相加会报错。
let a:Int = 3
let b:Double = 0.1415926
let PI:Double = a + b //会在这里报错;
报错例如以下:
这里须要使用强制类型转换。第三行代码改为:
let PI:Double = Double(a) + b;
改动后结果输出例如以下:符合我们的预期。
表示仅仅有在同样的类型下才干进行算数运算。
。
(14)Swift是支持Unicode编码的,在Swift中的变量能够使用中文。
例如以下所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
总结下。常量和变量这个内容也是内容较多的。我们不是必需去死记硬背。在以后的项目开发中慢慢掌握就能够了。
github主页:https://github.com/chenyufeng1991 。欢迎大家訪问!
Swift学习笔记(二)——常量与变量的更多相关文章
- Swift学习笔记二
Swift是苹果公司开发的一门新语言,它当然具备面向对象的许多特性,现在开始介绍Swift中类和对象的语法. 对象和类 用"class"加上类名字来创建一个类,属性声明和声明常量或 ...
- OC与Swift的区别二(常量、变量、运算符)
4.常量与变量声明 oc的变量声明使用 类型 变量名 = 变量值的方式,其中类型为系统内置数据类型或自定义类型,变量名需由英文字母开头且不能包含特殊字符 swift变量声明使用 var 变量名 = ...
- Swift 学习笔记第一天-变量常量,及数据类型
1.定义变量 用关键字 var 比如 var i=2 2.定义常量用let 如let c=3 可见Swift 定义时不用指定类型.由编译器推断 如果想指定类型 var i:Int32=2 练习 let ...
- Java学习笔记二---设置环境变量JAVA_HOME,CLASSPATH,PATH
1.环境变量包括: JAVA_HOME,CLASSPATH,PATH 2.设置环境变量的目的: 路径搜索,方便查找到jdk的安装路径.方便搜索用到的类文件.方便搜索用到的可执行文件如java,java ...
- Go语言学习笔记二: 变量
Go语言学习笔记二: 变量 今天又学了一招如何查看go的版本的命令:go version.另外上一个笔记中的代码还可以使用go run hello.go来运行,只是这种方式不会生成exe文件. 定义变 ...
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- amazeui学习笔记二(进阶开发4)--JavaScript规范Rules
amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...
- JDBC学习笔记二
JDBC学习笔记二 4.execute()方法执行SQL语句 execute几乎可以执行任何SQL语句,当execute执行过SQL语句之后会返回一个布尔类型的值,代表是否返回了ResultSet对象 ...
- tensorflow学习笔记二:入门基础 好教程 可用
http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础 TensorFlow用张量这种数据结构来表示所有的数据.用一 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
随机推荐
- 【codeforces 500E】New Year Domino
[题目链接]:http://codeforces.com/problemset/problem/500/E [题意] 有n个多米诺骨牌; 你知道它们的长度; 然后问你,如果把第i骨牌往后推倒,然后要求 ...
- CentOS 安装SVNclient
1.检查是已经安装了svn: # rpm -qa subversion subversion-1.7.14-6.el7.x86_64 卸载旧版本号的svn: # yum remove subversi ...
- 游标和动态SQL
游标类别:静态游标(指在编译的时候,游标就与一个select语句进行了静态绑定的游标.这样的游标仅仅能作用于一个查询语句)和动态游标(就是希望我们的查询语句在执行的时候才跟游标绑定.为了使用动态游标, ...
- Android动态载入JAR包的实现方法
有时候我们须要使用动态更新技术,简单来说就是:当我们把开发jar包发送给用户后.假设后期升级了部分代码.这时让用户的jar包自己主动更新,而不是用户主动手动地去更新的技术就是动态更新.这个须要使用的技 ...
- App 签名过期或泄露怎么办?别担心,Google 已经给出解决方案!
一.序 在将 App 发布到市场之前,很重要的一个步骤就是为 APK 进行签名,大部分时候,这个操作隐藏在了打包的流程中,而不被我们注意到. 签名的作用,除了证明 App 的所有权之外,还可以帮助 A ...
- Web前端错题模糊题记录
title: Web前端错题模糊题记录 toc: true date: 2018-09-20 10:04:36 categories: Web tags: HTML CSS JavaScript HT ...
- Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 在这篇博客里,我采用了非官网的安装步骤,来进行安装.走了弯路,同时,也是不建议.因为在大数据领域和实际生产里,还是要走正规的为好. Ubuntu16.04下Mongodb(离线安 ...
- Android 手势
GestureDetector:手势监听类,通常在View的setOnTouchListener方法中设置TouchListener,在TouchListener的onTouch函数中把MotionE ...
- Android 使用retrofit时,怎样获取响应的头信息
这个问题,我前段时间在项目中使用Retrofit遇到过,最后查到的解决办法有两种获取Response Headers的方法,第一种是直接在定义接口是让接口返回Retrofit的Response对象,在 ...
- Linux部署之批量自动安装系统之DHCP篇
1. 安装:yum install dhcp 2. Ip配置信息 3. Dhcp配置文件如下 4. 配置完后检查语法是否错误 ...