Swift4.0学习之路第四讲

第二章 整数、浮点数与布尔值

GitHub

第一节 整数字面量

在Swift中可以使用二进制、八进制、十六进制与十进制这四种技术来表达一个整数字面量

我们通常用的整数字面量默认为十进制数,那如果要表示一个二进制整数字面量,我们需要添加0b前缀;要表达一个八进制整数只需要添加0o前缀;要表达一个十六进制的整数字面量要添加0x前缀;

注意:这里的0b、0o、0x中的字母必须都是小写;

        let decimal = 100
        let binary = 0b0110_0100   //二进制
        let octal = 0o144          //八进制
        let hexadecimal = 0x64     //十六进制

注意:如果一个整数字面量过长,我们可以使用下划线进行分隔,比如上面的常量binary。上面的所有常量的值都是100.

第二节 整数类型

在Swift中,一个整数字面量的默认类型就是Int。Int类型的证书对象能表示的数值范围会随着不同的处理器与操作系统环境而有所不同,我们可以通过Int的min和max来表示她的最小值与最大值。

        
        let min = Int.min
        let max = Int.max
        
        print("min = \(min),max = \(max)")

int类型是带符号的,他所对应的无符号整形就是UInt,Uint类型的整数对象的也会随着不同的处理器与操作系统环境而有所不同,此外,UInt我们也可以通过Int的min和max来表示她的最小值与最大值。

        let a : UInt = 0xffff_ffff_ffff_ffff
        
        let UIntMin = UInt.min
        let UIntMax = UInt.max
        print("UIntMin = \(UIntMin),UIntMax = \(UIntMax)")

除了Int与UInt之外,Swift还提供了其他所有系统中固定位宽的整数类型,包括Int8(带符号8位整型)、 UInt8(无符号8位整型)、 Int16(带符号16位整型)、 UInt16(无符号16位整型)、 Int32(带符号32位整型)、 UInt32(无符号32位整型)、 Int64(带符号64位整型)、 UInt64(无符号64位整型)。这些整数类型通过数字后缀就能知道其位宽了,并且它们都具有 min 与 max 成员,我们可以用来分别获取相关类型可表达的最小值与最大值。

由于Swift编程语言是强类型、注重安全的编程语言,因此如果我们给某一整数对象赋值时,所使用的整数字面量超出了该整型对象所能表示的范围,那么编译即会报错。

        //声明一个Int8类型的8位带符号整型变量b
        var b :Int8 = 127
        
        //下面这条语句会报错
        b += 128 //由于128超过的Int8可表示的范围
        
        //下面这条语句运行时会发生异常
        b += 127   //127 + 127超过的Int8可表示的范围

第三节 浮点数字面量

Swift中常用的浮点数字面量就是十进制浮点数的表示,除此之外,Swift还支持十进制浮点数的科学计数法以及十六进制浮点数的科学计数法

Swift的十进制浮点数科学技术法这么表示:一个是兼职整数或十进制浮点数作为底数,后面跟e或E,然后在跟一个十进制整数作为指数;

Swift的十六进制浮点数科学记数法这么表示:以0x作为前缀,后面紧跟十六进制浮点数,后面再跟p或P,后面再紧跟一个十进制整数

十六进制浮点数的小数部分计算方法:从小数点开始,从左到右依次以16n作为除数,当前的十六进制小数位作为被除数做除法计算

    //eg:
    //0x3.842的值就是:3 + 8 / 16的1次方 + 4 / 16的2次方 + 2 / 16的3次方 = 3.51611328125

第四节 浮点数类型

Swift中常用的浮点类型有32位单精度浮点型Float,以及64位双精度浮点型Double,浮点型的字面量默认类型位Double,如果我们要声明一个Float类型的浮点数类型,并且要用浮点数字面亮对它初始化,那么我们不需使用类型标注的方式显示对它指明类型

        let π = 3.1415926  //声明一个Double类型常量π
        
        let e : Float = 2.7182818  //声明一个Float类型常量e

第五讲 布尔类型

布尔类型相对比较简单。Swift编程语言原生支持布尔类型,这一点与C、Objective-C和C++有所不同,它们都是直接将非零作为真,零作为假,而且布尔类型直接被整型给模糊化了。但在Swift中布尔类型与整数类型是完全分离的,直接用 Bool 来表示。

布尔类型的字面量也就两个,真用 true 表示;假用 false 表示。这两者都属于Swift中的关键字。布尔类型一般用于比较操作表达式,作为条件语句、循环语句的判别。当然,我们也可以自己定义一些函数来返回布尔类型,比如一个搜索函数,用 true 表示搜索到相关目标,用 false 表示没有搜索到相关目标。此外,Swift中的比较操作符的计算结构均返回布尔类型。

        // 声明一个布尔常量t为真
        let t = true
        // 声明一个布尔常量f为假
        let f = false

        // 布尔类型对象可用于逻辑操作,
        print("t && f = \(t && f)")  // 这里输出false
        // 关系操作符的计算结果返回一个布尔值。
        print("1 > 0? \(1 > 0)")       // 这里输出true
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,639评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,277评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,221评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,474评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,570评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,816评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,957评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,718评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,176评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,511评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,646评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,322评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,934评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,755评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,987评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,358评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,514评论 2 348

推荐阅读更多精彩内容

  • 关于 Swift 重要这个文档所包含的准备信息, 是关于开发的 API 和技术的。这个信息可能会改变, 根据这个文...
    无沣阅读 4,283评论 1 27
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 3,783评论 1 10
  • 前言 Swift是一门新的适用于iOS,macOS,watchOS,tvOS开发的编程语言。尽管如此,Swift的...
    BoomLee阅读 1,707评论 0 4
  • 开头还是用我为第一人称吧。 第一天,我并不没有早起若不是朋友喊我,今天的上班就会迟到,想想昨夜两点多说的要5点多就...
    VictorHou阅读 113评论 0 0
  • 夜里总有可恶的大灯亮着 告诉明知道又睡不着的人,这里是夜 我的拖鞋爬进小壁虎 我的脚掌接触它时 它咯咯的回头 我咯...
    锄风少年阅读 214评论 0 0