zoukankan      html  css  js  c++  java
  • 2.运算符

      Swift 支持大部分标准 C 语言的运算符,分为一元、二元和三元运算符。

    • 一元运算符对单一操作对象操作(如 -a)。一元运算符分前置运算符和后置运算符,前置运算符需紧跟在操作对象之前(如 !b),后置运算符需紧跟在操作对象之后(如 i++)。
    •  二元运算符操作两个操作对象(如 2 + 3),是中置的,因为它们出现在两个操作对象之间。
    •  三元运算符操作三个操作对象,和 C 语言一样,Swift 只有一个三元运算符,就是三目运算符(a ? b : c)。

    1.赋值运算符: (=)

    let a = 10

    2.算术运算符: 加法(+)、减法(-)、乘法(*)、除法(/

    1 + 2 ;
    5 - 3;
    2 * 3;
    10.0 / 2.5;

    【说明】:加法运算符也可用于 String 的拼接。例如:

    "hello, " + "world";

    3.求余运算符: (%)

    9 % 4;  //结果为1

    【说明】:不同于 C 语言和 Objective-CSwift 中是可以对浮点数进行求余。例如:

    8 % 2.5;  //结果为0.5

    4.自增和自减运算:自增(++)和自减(--

    • ++ 前置的时候,先自増再返回; ++ 后置的时候,先返回再自增。

    【注意】:it will be removed in Swift 3,可以不看。

    5.一元负号运算符: (-)

    • 一元负号(-)写在操作数之前,中间没有空格。比如:-3

    6.一元正号运算符:  (+)

    • 不做任何改变地返回操作数的值。

    7.组合赋值运算符

    • Swift 提供把其他运算符和赋值运算(=)组合的组合赋值运算符,组合加运算(+=)是其中一个例子。

    8.比较运算符

    • 所有标准 C 语言中的比较运算都可以在 Swift 中使用: ==!=><>=<=
    • Swift 提供恒等(===)和不恒等(!==)这两个比较符来判断两个对象是否引用同一个对象实例(具体看类和结构体章节)
    • 当元组中的值可以比较时,也可以使用这些运算符来比较它们的大小。例如,因为 Int String 类型的值可以比较,所以类型为 (Int, String) 的元组也可以被比较。相反,Bool 不能被比较,也意味着存有布尔类型的元组不能被比较。
    (1, "zebra") < (2, "apple");  //true
    (3, "apple") < (3, "bird");  //true
    (4, "dog") == (4, "dog");  //true

    9.三元运算符:问题 ? 答案 1 : 答案 2

    • 表示根据 问题成立与否作出二选一的操作。如果 问题 成立,返回 答案 1 的结果;反之返回 答案 2 的结果。

    10.空合运算符:空合运算符(a ?? b

    • 对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致。
    • 空合运算符是对以下代码的简短表达方法:a != nil ? a! : b

    11.区间运算符

    • 闭区间运算符(a...b)定义一个包含从 a b(包括 a b)的所有值的区间。a 的值不能超过 b 
    • 半开区间(a..<b)定义一个从 a b 但不包括 b 的区间。 之所以称为半开区间,是因为该区间包含第一个值而不包括最后的值。
    for index in 1...5
    {
        print("(index) * 5 = (index * 5)");  //执行5次
    }

    12.逻辑运算

    • 逻辑非(!a
    • 逻辑与(a && b
    • 逻辑或(a || b
  • 相关阅读:
    20个最佳的Java集合框架面试题目
    SSL/TLS 加密新纪元
    NServiceBus-日志
    NServiceBus-容器
    NServiceBus-网关和多站点分布
    NServiceBus-性能测试
    NServiceBus教程-持久化配置
    NServiceBus教程-持久化
    NServiceBus教程-NServiceBus和WCF
    NServiceBus教程-消息传递与处理
  • 原文地址:https://www.cnblogs.com/LeeGof/p/5673728.html
Copyright © 2011-2022 走看看