zoukankan      html  css  js  c++  java
  • Swift语法基础:11

    在Swift当中当然是有与或非这三个逻辑运算符, 并且兼容大部分C类运算符, 比如 “<”, “>”, “=”, “==”, “<=”, “>=”, “+”, “-“, “*”, “/”, 这些等等都支持, 但这里有一点要注意一下, 赋值符号 “=” 不返回值, 以防止把 “==” 写成 “=” 导致程序出错.

    区别于C, Swfit还提供对浮点数类型进行取余预算 “%”, 还提供了C没有提供的区间, “0..<20” 或者 “0…20”.


    1.术语

    运算符分为三种, 一目, 二目, 三目这三种运算符, 例子:

    一目运算符只对单个对象进行操作, 比如: -a

    二目运算符对两个对象进行操作, 比如: a + b

    三目运算符操作三个对象, 和C一样, Swift也是只有一个三目运算符, 比如 a? b :c.


    2.赋值运算符

    所谓的赋值运算符, 就是把一个值赋给另一个值, 比如:

    let b = 10
    var a = 5
    a = b
    println(a)
    // 打印出来的结果: 10

    这个就是赋值运算啦.

    如果在元组上赋值, 那么情况就会不一样, 比如:

    let(x,y)=(1,2)
    println("(x), (y)")
    // 打印出来的结果: 1, 2

    PS: 如果是在元组上赋值, 那么会产生多个变量或者常量, 而这个值和变量都是相互对应的.

    注意一下, 如果在 if 语法中使用赋值运算是会错误的, 比如:

    if x = y {
    
    }
    // 报错: Connot assign to 'let' value 'x'

    在Swift中它可以从底层里规避一些赋值运算的错误.


    3.数值运算

    在Swift中同样是有 “+”, “-“, “*”, “/”, 比如:

    1 + 2
    // 等于3
    5 - 3
    // 等于2
    2 * 3
    // 等于6
    10.0 / 2.5
    // 等于4.0

    在Swift中有一个很有趣的东西, 在我们拼接字符串的时候, 我们不需要再像OC那样定义一大串东西, 而是直接就可以加上去, 比如:

    let helloWorld = "hello" + " world"
    // 打印出来的结果: hello world

    4.求余运算

    所谓的求余运算就是两个数相除, 如果除不尽, 那么就取该余数, 比如:

    let a = 9 % 4
    println(a)
    // 打印出来的结果: 1

    例子里面的 9 除以 4 等于 2 , 但是除不完, 余 1, 这个就是我们所得到的结果, 就是 1.

    如果是负数求余, 同样也是如此, 不过结果是为负数, 比如:

    let a = -9 % 4
    println(a)
    // 打印出来的结果: -1

    还有一个浮点数求余:

    let a = 8 % 2.5
    println(a)
    // 打印出来的结果是: 0.5

    PS: 浮点数求余运算比较特殊一点, 他会精确到小数点后面的数, 与整数求余不一样.


    5.自增和自增运算

    在Swift中也有自增和自增运算, 原理和OC中差别不大:

    当 ++ 前置的时候, 先自増再返回.
    当 ++ 后置的时候, 先返回再自增.

    var a = 0
    let b = ++a
    // 这个是先加了再返回, 所以a和b都是1
    let c = a++
    // 这个是先返回后再加, 所以a是2, c是1

    补充一点:
    在Swift中也可以拿 ‘-’ 或者 ‘+’ 作为数字的前缀, 从而判断是正数还是负数:

    let three = 3
    let minusThree = -three
    // 这里的minusThree就是-3,
    let plusThree = -minusThree
    // 这里的plusThree是3, 运算结果和我们以前学的数学没区别, 负负得正, -(-minusThree)

    单目正号 ‘+’ 就和我们之前所认识的差不多:

    let miunsSix = -6
    let aolsMiunsSix = +miunsSix
    // 这么做是改变不了miunsSix的正负的, 和我们之前所学的数学没啥区别 +(-miunsSix)

    6.复合赋值

    在Swfit中也存在复合赋值:

    var a = 1
    a += 2
    // a等于3, 其运算过程就是 a = a + 2

    PS: 在Swift中的复合赋值是不存在返回值的, 所以let a = b += 2这种写法是不对的.


    好了, 这次我们就讲到这里, 下次我们继续

  • 相关阅读:
    2014年互联网发展趋势如何
    服务器出现阶段性错误
    用互联网思想武装自己
    杭州互联网公司汇总
    互联网牛人网址大全
    ffmpeg开发指南
    Windows下FFmpeg快速入门
    FFmpeg介绍及参数详细说明
    windows 下FFMPEG的编译方法 附2012-9-19发布的FFMPEG编译好的SDK下载
    FFMPEG视音频编解码零基础学习方法 【荐】
  • 原文地址:https://www.cnblogs.com/iOSCain/p/4333127.html
Copyright © 2011-2022 走看看