美文网首页
02.Swift运算符

02.Swift运算符

作者: biyu6 | 来源:发表于2018-05-24 17:37 被阅读0次
    //运算符包括:=、==、+=、-=、>、<、>=、<=、+、-、*、/、%、!、||、&&、?: 以及新增的 区间运算符:..< 、 ...
    //一元运算符:对单一对象进行操作,如:-a、!b、c!
    //二元运算符:操作两个操作对象,如  a + b
    //三元运算符:操作三个对象,只有一个三目运算符 a ? b : c
    
    //==================基础的运算符=================
    //赋值
    let a = 10
    var b = 5
    b = a
    let (x,y) = (1,2)//元组赋值
    //if a = b {//此种写法在OC中会报警告,但可以编译;而在Swift中会报错(赋值操作无返回值,防止误写)
    //    print("演示错误")
    //}
    
    //加减乘除 及 正负运算符
    print("字符串拼接:\("hello" + " world")") //加法运算符可用于字符串拼接
    let nameStr = "张三"
    if nameStr == "张三" {//判断字符串是否相等,可以用==
        print("判断字符串相等的结果")
    }
    
    //负号和正号运算符 写在操作数之前 中间没有空格
    let three = 3
    let minusThree = -three//-3
    let plusThree = -minusThree//3
    let alsoThree = +minusThree//-3 (+对值无影响,但为了对称可以写)
    
    //取余
    let y1 = 9 % 4 // 1
    let y2 = -9 % 4 // -1
    let y3 = 9 % -4 // 1 (对负数求余时,符合会被忽略)
    
    var aPlus = 3
    aPlus += 2
    aPlus -= 1
    //let bPlus = a += 2 //此种写法是错误的 +=、-=组合赋值运算符 没有返回值
    
    //元组比较:两个元组的元素相同且长度相同才可比较,比较方式是一个元素比较出结果了就返回,不理会后面的元素
    let b1 = (1,"zebra") < (2,"apple") //true ,因为1<2
    let b2 = (3,"apple") > (3,"bird") //false, 因为3=3,但是apple<bird(一个字母一个字母比较)
    let b3 = (4,"dog") == (4,"dog")//true
    //Swift只能比较7个以内元素的元组,且元组内不能有布尔类型
    
    //空合运算符
    var userDefinedColor: String?//用户自定义的颜色
    let sm = userDefinedColor != nil ? userDefinedColor! : "red"//如果没有自定义的颜色,就返回默认的颜色
    let kh = userDefinedColor ?? "red"//与上面的代码功能一致
    
    //闭区间运算符 和 半开区间运算符
    for index in 1...5 {
        print("闭区间运算符的取值范围首尾都包括:\(index) * 2 = \(index * 2)")
    }
    for index in 1..<5 {
        print("半开区间运算符的取值范围包括首、不包括尾部:\(index)")
    }
    
    //单侧区间
    let qjArr = [1,2,3,4,5,6]
    for num in qjArr[2...] {
        print("单侧区间1:尾巴省略:\(num)")
    }
    for num in qjArr[...2] {
        print("单侧区间2:头部省略:\(num)")
    }
    for num in qjArr[..<2] {
        print("单侧的半开区间演示:\(num)")
    }
    let range = ...5
    let rangeB1 = range.contains(6)
    let rangeB2 = range.contains(2)
    let rangeB3 = range.contains(-100)
    print("单侧区间作为范围的演示:\(rangeB1,rangeB2,rangeB3)")
    
    //逻辑运算符(以下是伪代码 相当于(有门的密码 && 通过了视网膜扫描)或 有钥匙 或 有紧急状态下的密码
    //if 有门的密码 && 通过了视网膜扫描 || 有钥匙 || 有紧急状态下的密码{
    //    都可以打开门
    //}
    

    相关文章

      网友评论

          本文标题:02.Swift运算符

          本文链接:https://www.haomeiwen.com/subject/xbgsjftx.html