运算符和表达式(一)

来源:互联网 发布:2015珠三角gdp数据 编辑:程序博客网 时间:2024/05/24 05:01
////  main.swift//  运算符和表达式(一)////  Created by Goddog on 15/6/23.//  Copyright (c) 2015年 Goddog. All rights reserved.//import Foundation//MARK: - 赋值运算符//用=作为赋值运算符var str = "Swift"var pi : Double = 3.14var visited : Bool = truevar str1 : String = str//Swift不支持连续赋值var a : Int//var b = a = 10//MARK: - 算术运算符//加、减、乘、除//注意求余运算:不在要求运算符两边操作符都是整数,支持对浮点型求余var a1 = 12.1var b1 = 4.2var mod = a1 % b1println(mod)println("负数模负数:\(-12.3 % -2.4)")   //返回负数println("负数模正数:\(-21.2 % 3)")  //返回负数println("正数模负数:\(24.4 % -7.2)")  //返回正数println("正数模0.0:\(4 % 0.0)")  //返回nanprintln("负数模0.0:\(-2 % 0.0)")  //返回nanprintln("0对正数模:\(0 % 2)")  //返回0.0println("0对0.0模\(0 % 0.0)")  //返回nan//自加和自减:1.把++放在左边,先把操作数加一,然后放到表达式中//          2.把++放在右边,先把操作数放到表达式中运算,然后把操作数加一var a2 = 5var d2 = 1var b2 = a2++ + 1var c2 = ++d2 + 1println("a2是:\(a2),  b2是:\(b2),c2是:\(c2)")var a3 = 4.2println("a的5次方:\(pow(a3,5))")println("a的平方根:\(sqrt(a3))")println("0~10之间的随机数:\(arc4random() % 10)")println("1.2的sin函数值:\(sin(1.2))")//MARK: - 溢出运算符//Swift不允许整型变量或常量被赋值一个超出其表数范围的数值var f : Int16 = 32767//f = f + 1    //超了//&+、&-、&*、&/、&%f = f &+ 1   //值的上溢f = f &- 100  //值的下溢let g = 10let k = g &/ 0   //得到0let q = g &% 0  //得到0//MARK: - 位运算符//&按位与、|按位或、^按位异或、~按位取反、<<左位移运算符、>>右位移运算符//MARK: - 范围运算符//1.闭范围运算符  a...b用于定义一个从a~b(包括a、b边界)所有值的范围,a不能大于bvar ranges = 2...6for range in ranges{    println(range)}//2.半开范围运算符:a..<用于定义一个从a~b(包含a,但不包含b)的所有值范围,用于遍历数组合适var books = ["Swift","Java","OC","PHP"]for index in 0..<books.count{    println("第\(index+1)种语言是:\(books[index])")}//MARK: - 比较运算符//>  >=  <    <=    ==    !=    ===   !==var k1 = NSMutableArray()var k2 = NSMutableArray()//判断两个对象的内容是否相等,输出trueprintln(k1 == k2)//判断两个对象是否指向同一个对象,输出falseprintln(k1 === k2)//MARK: - 逻辑运算符//&&与、 &不短路与、 ||或、 |不短路或、 !非、 ^异或//MARK: - 三目运算var g1 = 2var g2 = 4var g3 = g1 > g2 ? "g1大于g2" : "g1不大于g2"println(g3)//MARK: - nil合并运算符//a ?? b的作用是:判断可选类型变量a是否为nil,如果不为nil,将会返回可选变量a所包装的实际值,否则返回默认值b,b的类型与a一致let defaultName = "曹操"//定义可选类型变量,且不为空var name1 : String? = "刘备"println(name1 ?? defaultName)//定义可选类型变量,且为空var name2 : String?println(name2 ?? defaultName)//其实 a ?? b 相当于   a != nil ? a! : bprintln("Hello, World!")

0 0
原创粉丝点击