Swift基础教程1.9 数学运算符_Swift基础教程1.9 数学运算符试读-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Swift基础教程 > 1.9 数学运算符

Swift基础教程——1.9 数学运算符

Swift很擅长做数学运算。前面介绍过String类型可使用加号来拼接字符串,但加号并非只能用于拼接字符串,它还是加法运算的通用表示方式,而现在正是探索Swift数学运算功能的好时机。来看一些执行算术运算的数学表达式: 29> let addition = 2 + 2 addition: Int = 4 30> let subtraction = 4 - 3 subtraction: Int = 1 31> let multiplication = 10 * 5 multiplication: Int = 50 32> let division = 24 / 6 division: Int = 4 33> 这里演示了四种基本运算:加(+)、减()、乘(*)、除(/)。Swift提供的结果符合预期,它给常量指定的类型(Int)也符合预期。同样,Swift根据等号右边的值推断出这些常量的类型为Int。 还可使用%运算符来执行求模运算,它返回除法运算的余数: 33> let modulo = 23 % 4 modulo: Int = 3 34> 在Swift中,甚至可将求模运算符用于Double值: 34> let modulo = 23.5 % 4.3 modulo: Double = 2.0000000000000009 35> 另外,加号和减号还可用作单目运算符。在值前面加上加号意味着正数,加上减号意味着负数: 35> var positiveNumber : Int = +33 positiveNumber: Int = 33 36> var negativeNumber : Int = -33 negativeNumber: Int = -33 37> 1.9.1 表达式 Swift全面支持数学表达式,包括标准的运算符优先级(按从左到右的顺序先执行乘法和除法运算,再执行加法和减法运算): 37> let r = 3 + 5 * 9 r: Int = 48 38> let g = (3 + 5) * 9 g: Int = 72 39> 第37行先将5乘以9,再将结果加上3,而第38行将前两个值用括号括起来,因此先将这两个值相加,再将结果与9相乘。Swift与其他现代语言一样按规范顺序执行数学运算。 1.9.2 混用不同的数值类型 如何混用小数和整数,结果如何呢? 39> let anotherDivision = 48 / 5.0 anotherDivision: Double = 9.5999999999999996 40> 这里将整数48除以小数5.0。小数点提供了足够的线索,让Swift将相应数字的类型视为Double。结果常量anotherDivision的类型也被指定为Double。这里演示了Swift的类型提升概念:将Int值48与一个Double值放在同一个表达式中时,它被提升为Double类型。同样,常量也被指定为Double类型。这种规则必须牢记。 在同一个表达式中包含不同类型的数值时,总是将表达力较弱的类型提升为表达力较强的类型。由于Double类型可表示Int值,而Int类型无法表示Double值,因此将Int值提升为Double值。 1.9.3 数值表示 在Swift中,可以多种方式表示数值。本章前面使用的都是最常见、最自然的表示方式:十进制,即以10为底的计数法。下面来看看其他表示数值的方式。 1. 二进制、八进制和十六进制 如果你有编程经验,肯定遇到过以2、16甚至8为底的数字,它们分别被称为二进制、十六进制和八进制。这些进位制在软件开发中经常会出现,根据它们本身的特性使用简捷记法很有帮助: 40> let binaryNumber = 0b110011 binaryNumber: Int = 51 41> let octalNumber = 0o12 octalNumber: Int = 10 42> let hexadecimalNumber = 0x32 hexadecimalNumber: Int = 50 43> 二进制数用前缀0b表示,八进制数字用0o表示,而十六进制数用0x表示。当然,没有前缀意味着为十进制数。 2. 科学计数法 另一种表示数字的方法是科学计数法,这种计数法可简化大型小数的表示: 43> let scientificNotation = 4.434e-10 scientificNotation: Double = 0.00000000044339999999999999 44> 其中e表示以10为底的指数,这里为4.434×1010。 3. 大数字表示法 如果你曾坐在Mac计算机前数数字末尾有多少个0,以确定其量级,肯定会喜欢下面这种特性。Swift支持下面这种方式表示大数,让其量级一目了然: 44> let fiveMillion = 5_000_000 fiveMillion: Int = 5000000 45> 下划线会被Swift忽略,但这些下划线对提高数字的可读性大有裨益。

展开全文

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

《Swift基础教程》其他试读目录

• 1.1 革命性的改良
• 1.2 准备工作
• 1.3 准备出发
• 1.4 开始探索Swift
• 1.5 声明的威力
• 1.6 常量
• 1.7 类型
• 1.8 字符串
• 1.9 数学运算符 [当前]
• 1.10 布尔类型
• 1.11 轻松显示
• 1.12 使用类型别名
• 1.13 使用元组将数据编组
• 1.14 可选类型
• 1.15 小结