zoukankan      html  css  js  c++  java
  • iOS开发Swift篇—(三)字符串和数据类型

    iOS开发Swift篇—(三)字符串和数据类型

    一、字符串

    字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www.wendingding.com"

    1.字符串的常见操作

    (1)用加号 + 做字符串拼接

    let scheme = "http://"

    let path = “www.wendingding.com”

    let website = scheme + path

    // website的内容是”http://www.wendingding.com”

     

    (2)用反斜线 和 小括号 () 做字符串插值(把常量变量插入到字符串中)

    let hand = 2

    var age = 20

    let str = "我今年(age)岁了,有(hand)只手"

    // str的内容是"我今年20岁了,有2只手"

    注意:swift是类型安全语言,不同的数据类型是不能相加的。(需要强制转换类型)

    2.打印输出

    Swift提供了2个打印输出函数

    println :输出内容后会自动换行

    print :对比println,少了个自动换行的功能

     

    二、数据类型

    1.Swift中常用的数据类型有

    Int、Float、Double、Bool、Character、String

    Array、Dictionary、元组类型(Tuple)、可选类型(Optional)

    注意:数据类型的首字母都是大写的

     

    2.指定变量常量的数据类型

      在常量变量名后面加上 冒号(:) 和 类型名称

    let age: Int = 10

    上面代码表示:定义了一个Int类型的常量age,初始值是10

     

    提示:一般来说,没有必要明确指定变量常量的类型。如果在声明常量变量时赋了初始值,Swift可以自动推断出这个常量变量的类型

    如:let age = 20  Swift会推断出age是Int类型,因为20是个整数

     

    三、变量的初始化

    Swift严格要求变量在使用之前必须进行初始化

    注意:下面的代码是错误的

    var a: Int

    let c = a + 10 

    说明:

    第1行代码中:Swift并不会为变量a赋初值,a没有初始化

    第2行代码会报错

     

    下面的代码是正确的

    var a: Int = 20

    let c = a + 10

     

    四、整数

    1.整数的分类

    整数分为2种类型

    有符号(signed):正、负、零

    无符号(unsigned):正、零

     

    Swift提供了8、16、32、64位的有符号和无符号整数,比如

    UInt8 :8位无符号整型

    Int32 :32位有符号整型

    Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64

     

    2.最值

    可以通过min和max属性来获取某个类型的最小值和最大值

    let minValue = UInt8.min   // UInt8 类型的 min 等于0

    let maxValue = UInt8.max  // UInt8 类型的 max 等于255

     

    3.Int和UInt

    Swift还提供了特殊的有符号整数类型Int和无符号整数类型UInt

    说明:IntUInt的长度和当前系统平台一样

    在32位系统平台上,Int和UInt的长度是32位

    在64位系统平台上,Int和UInt的长度是64位

    Int在32位系统平台的取值范围:-2147483648 ~ 2147483647

     

    建议

    在定义变量时,别总是在考虑有无符号、数据长度的问题

    尽量使用Int,这样可以保证代码的简洁、可复用性

     

    4.存储范围

    每种数据类型都有各自的存储范围,比如

    Int8的存储范围是:–128 ~ 127

    UInt8的存储范围是:0 ~ 255

     

    如果数值超过了存储范围,编译器会直接报错

    注意:下面的语句都会直接报错

    let num1: UInt8 = -1

    let num2: Int8 = Int8.max + 1

    说明:

    第1行代码报错原因: UInt8不能存储负数

    第2行代码报错原因: Int8能存储的最大值是Int8.max

     

    5.整数的表示形式

    整数的4种表示形式

    (1)十进制数:没有前缀

      let i1 = 10 // 10

    (2)二进制数:以0b为前缀

      let i2 = 0b1010 // 10

    (3)八进制数:以0o为前缀

      let i3 = 0o12 // 10

    (4)十六进制数:以0x为前缀

      let i4 = 0xA // 10

     

    五、浮点数

    1.浮点数说明

    浮点数,就是小数。Swift提供了两种浮点数类型

    Double :64位浮点数,当浮点值非常大或需要非常精确时使用此类型

    Float :32位浮点数,当浮点值不需要使用Double的时候使用此类型

     

    精确程度

    Double :至少15位小数

    Float :至少6位小数

     

    注意:如果没有明确说明类型,浮点数默认就是Double类型

    let num = 0.14 // num是Double类型的常量

     

    2.浮点数的表示形式

    浮点数可以用 十进制 和 十六进制 2种进制来表示

    (1)十进制(没有前缀)

    1)没有指数:let d1 = 12.5

    2)有指数    :let d2 = 0.125e2  

    // 0.125e2 == 0.125 * 10²

    MeN ==  M * 10的N次方

     

    (2)十六进制(以0x为前缀,且一定要有指数)

    let d3 = 0xC.8p0 

    // 0xC.8p0 == 0xC.8 * 2º == 12.5 * 1

    0xMpN == 0xM * 2的N次方

    let d3 = 0xC.8p1 

    // 0xC.8p1 == 0xC.8 * 2¹ == 12.5 * 2  == 25.0

     

    3.数字格式

    数字可以增加额外的格式,使它们更容易阅读

    (1)可以增加额外的零 0

    let money = 001999 // 1999

    let money2 = 001999.000 // 1999.0

    (2)可以增加额外的下划线 _ ,以增强可读性

    let oneMillion1 = 1_000_000 // 1000000

    let oneMillion2 = 100_0000 // 1000000

    let overOneMillion = 1_000_000.000_001 // 1000000.000001 

    说明:增加了额外的零  0和下划线 _ ,并不会影响原来的数值大小

     

    六、类型转换

    两个类型不相同的数值,是不能直接进行运算的

    示例1:

    注意:下面的语句是错误的

    let num1: UInt8 = 10;    

    let num2: Int = 20;

    let sum: Int = num1 + num2 

    第3行会报错说明:

    报错原因:num1是UInt8类型,num2是类型Int,类型不同,不能相加

    解决方案:将num1转为Int类型,就能与num2进行相加

    下面的语句是正确的

    let sum: Int = Int(num1) + num2

     

    示例2:

    注意:下面的语句是错误的

    let num1 = 3 // num1是Int类型

    let num2 = 0.14 // num2是Double类型

    let sum = num1 + num2

    第3行报错说明:

    报错原因:num1是Int类型,num2是类型Double,类型不同,不能相加

    解决方案:将num1转为Double类型,就能与num2进行相加

    下面的语句是正确的

    let sum = Double(num1) + num2

     

    注意:

    下面的写法是正确的

    let sum = 3 + 0.14

    3和0.14相加得到结果3.14,等赋值以后,编译器才会自动推断出sum是Double类型

     

    七、类型别名

    可以使用typealias关键字定义类型的别名,跟C语言的typedef作用类似

      typealias MyInt = Int // 给Int类型起了个别名叫做MyInt

    原类型名称能用在什么地方,别名就能用在什么地方

      声明变量常量类型

      let num: MyInt = 20

    获得类型的最值

      let minValue = MyInt.min

    类型转换

      let num = MyInt(3.14) // 3

     

     
     
  • 相关阅读:
    PHP数组简介
    如何在不使用系统函数的情况下实现PHP中数组系统函数的功能
    弹性盒布局display:flex详解
    关于JS面向对象中原型和原型链以及他们之间的关系及this的详解
    如何使用AngularJS对表单提交内容进行验证
    如何用canvas画布画旋转的五角星
    MYSQL常用函数以及如何操作数据
    数据库基础以及表的创建
    PHP中的OOP
    PHP中数组的遍历
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5580302.html
Copyright © 2011-2022 走看看