Swift数据类型、运算符、新增语句等小结

总结复习一些基本的东西,主要是与OC不同的以及新增的。

一、基本数据类型

Int、Float、Double、Bool、Character、String(首字母都大写)
Array、Dictionary、元组类型(Tuple)、可选类型(Optional)

指定数据类型:

[javascript] view plaincopy

  1. let a:Int = 10  //指定数据类型。 一般不需要指定,会自动判断类型。 (使用时需初始化)

1.1 整形

[javascript] view plaincopy

  1. //1.1整形
  2. let maxInt = Int.max     //获取Int类型的最大值
  3. let minInt = Int.min
  4. let a1 = 10    //十进制
  5. let a2 = 0b1010  //二进制以0b开头
  6. let a3 = 0o12   //八进制以0o开头
  7. let a4 = 0xA    //十六进制0x

1.2 浮点

[javascript] view plaincopy

  1. //1.2浮点型Float,Double
  2. let b1 = 0.123    //默认是Double
  3. let b2 = 0.123e3  //123.0

1.3 Bool ,跟上主流了。。。。

[javascript] view plaincopy

  1. //1.3Bool (不是YES/NO了)
  2. let c1 = true
  3. let c2 = false

1.4  元祖

[javascript] view plaincopy

  1. //1.4元组. 可以是N个任意类型的数据
  2. let tup1 = (age:1,name:"abc",hight:2,jj:0.1)  //带元素名称
  3. let tup2 = (1,"abc",2,0.1)   //省略元素名称
  4. var tup3:(Int,String) = (1,"haha")   //指定类型. (指定类型后就不能再写元素名称了)
  5. var (t1,t2) = tup3   //直接弄2个变量接收元祖
  6. var (_,t3)  = tup3   //只接收一个

1.5 可选(要么返回该值,要么为nil)

[javascript] view plaincopy

  1. var possibleNumber = "123"
  2. var convertedNumber:Int? = possibleNumber.toInt()   //转换可能失败. (在类型后面加?表示可选)
  3. //获取可选类型的值,需要在后面加上!
  4. if convertedNumber != nil{
  5. println("convertedNumber的值为\(convertedNumber!)")
  6. }
  7. //OC中的nil指向一个不存在的对象, 而Swift中nil不是指针,而是一个缺省值
  8. //possibleNumber = nil   //普通的变量是不能赋值为nil
  9. //convertedNumber = nil    //可选类型能赋值为nil, 当没有值时,自动赋值为nil
  10. if let my = convertedNumber {
  11. println("这是可选绑定!\(my)")
  12. }

二、数据的输出格式 && 类型转换 && 类型别名

简化了不少。

[javascript] view plaincopy

  1. //2.1可以在数字中增加额外的0或_, 增强可读写
  2. let d1 = 000123
  3. let d2 = 00123.0012300
  4. let d3 = 1_2_3
  5. //let d4 = _123   //错误

[javascript] view plaincopy

  1. //2.2类型转换
  2. let e1 = 1
  3. let e2 = 0.12
  4. //let e3 = e1 + e2  //错误, 类型不同不能直接相加
  5. let e3 = Double(e1) + e2   //类型转换

类型别名就相当于C中的typedef

[javascript] view plaincopy

  1. //2.3 类型别名 typealias
  2. typealias XNInt = Int
  3. let test:XNInt = 10

三、新加的几个运算符

3.1 范围运算符,上篇WWDC上用过

[javascript] view plaincopy

  1. //3.1 范围运算符..<   ...
  2. for index1 in 1...10{ }  //表示闭包[1 10]
  3. for index2 in 1..<10{ }  //表示半闭合[1 10)

3.2 溢出运算符。(新增加的,可用来处理数据溢出的情况)

&+溢出加 &-溢出减 &*溢出乘 &/溢出除 &%溢出余

[javascript] view plaincopy

  1. let f1 = UInt.max
  2. //let f2 = x + 1  //这样写会上溢
  3. let f2 = f1 &+ 1   //溢出加. 值为0. 变为溢出后的最小值
  4. let g1 = 10
  5. //let g2 = g1 / 0  //会报错
  6. let g2 = g1 &/ 0   //值为0
  7. //let g3 = g1 % 0  //会报错
  8. let g3 = g1 &% 0   //值为0

3.3 一些注意的地方

非0即真这种C语言的东西遭淘汰!赋值更加灵活,且赋值没有返回值。

[javascript] view plaincopy

  1. let (x,y) = (1,2)    //整体赋值
  2. //if(x = y){ }    //这样写是错误的. 能防止将==写成=
  3. //if(10){ }     //这样写也是错误的. 非0即真已经不适用.
  4. if(true){ }

四、流程控制语句

新增加for in语句,同时switch语句更加灵活。

4.1 循环for in

[javascript] view plaincopy

  1. for h1 in 1...10{
  2. println(h1)
  3. }
  4. for _ in 1..<10{    //不需要用到范围中的值时,直接忽略用_
  5. println("####")
  6. }

4.2 标签 (可用来跳出指定循环,了解即可)

[java] view plaincopy

  1. xn:
  2. for _ in 1...3 {
  3. println("***")
  4. for tmp in 1...5{
  5. println("###")
  6. //指定退出
  7. if tmp == 3{
  8. break xn
  9. }
  10. }
  11. }

4.3  Switch语句

1)与C语言中的不同. 不必每个case下写break,自动break
2)每个case后面必须有可执行语句, 否则会报错
3)每个case都可以匹配多个条件, 也可以填写一个范围
4)switch要保证处理所有的情况,一定加上default.
5)case还可以匹配元祖

[java] view plaincopy

  1. let score = 10
  2. switch score{
  3. case 0...3:
  4. println("差")
  5. case 4,5,6,7:
  6. println("良")
  7. case 8...10:
  8. println("优")
  9. default:
  10. println("超神")
时间: 2024-12-21 23:49:41

Swift数据类型、运算符、新增语句等小结的相关文章

【iOS】Swift数据类型、运算符、新增语句等小结

总结复习一些基本的东西,主要是与OC不同的以及新增的. 一.基本数据类型 Int.Float.Double.Bool.Character.String(首字母都大写) Array.Dictionary.元组类型(Tuple).可选类型(Optional) 指定数据类型: let a:Int = 10 //指定数据类型. 一般不需要指定,会自动判断类型. (使用时需初始化) 1.1 整形 //1.1整形 let maxInt = Int.max //获取Int类型的最大值 let minInt =

Swift 高级运算符

除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和Objective-C中的位运算符和移位运算. 不同于C语言中的数值计算,Swift的数值计算默认是不可溢出的.溢出行为会被捕获并报告为错误.你是故意的?好吧,你可以使用Swift为你准备的另一套默认允许溢出的数值运算符,如可溢出加&+.所有允许溢出的运算符都是以&开始的. 自定义的结构,类和枚举,是否可以使用标准的运算符来定义操作?当然可以!在Swift中,你可以为你创建的所有类型定制运算符的操作. 可定制的运

4.Swift教程翻译系列——Swift基本运算符

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 运算符是指一个特殊的符号,能够用来查看.更改值或者相加.比方说加法运算符+能够讲两个数字加起来. 另一些复杂的样例比方逻辑与&&或者自增++.Swift支持C中得大部分运算符,而且增加了一些增强的特性来降低代码中的错误.赋值预算符=不会返回值.这样就避免了在应该使用比較运算符==的地方误用=.数学运算符(加减乘除模)会做溢出推断,这样避免了值溢出的时候出现的奇怪现象.你能

Swift基本运算符详解

运算符是检查,改变,合并值的特殊符号或短语.例如,加号+将两个数相加(如let i = 1 + 2).复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode && passedRetinaScan),又或让 i 值加1的便捷运算符自增运算符++i等. Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码错误.如,赋值符(=)不返回值,以防止把想要判断相等运算符(==)的地方写成赋值符导致的错误.数值运算符(+,-,*,/,%等)会检

4.Swift基本运算符

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 运算符是指一个特殊的符号,可以用来查看,更改值或者相加.比如说加法运算符+可以讲两个数字加起来.还有一些复杂的例子比如逻辑与&&或者自增++.Swift支持C中得大部分运算符,并且加入了一些增强的特性来减少代码中的错误.赋值预算符=不会返回值,这样就避免了在应该使用比较运算符==的地方误用=.数学运算符(加减乘除模)会做溢出判断,这样避免了值溢出的时候出现的奇怪现象.你可

Swift 中的开关语句switch在swift中的使用

在swift 中使用switch 开关语句在进行匹配的时候不需要在匹配成功的地方加上break了,在swift中它会自动在匹配成功的地方跳出去.不会在向下面执行 example: “let vegetable = "red pepper"switch vegetable {case "celery": let vegetableComment = "Add some raisins and make ants on a log."case &qu

Swift学习—运算符

知识点: Swift范围运算符:..< {表示[x, y), 即大于等于x,小于y} , ... {表示[x, y], 即大于等于x,小于等于y} (主要用于for循环中) Swift溢出运算符(注意:是为整型计算提供的):&+, &-, &*, &/, &% Swift支持N对N赋值 Swift赋值是没有返回值的 %在Swift中叫"求余运算符",求余结果的正负跟%左边数值的正负一样 Swift的%还支持浮点的计算 Bool类型类似于ja

python中的try/except/else/finally语句--自我小结

def main():      try:        print "try"        return True    except:        print "except"    finally:        print "finally"        print "main" 输出: try finally 就算try中有return语句,最终的finally也会被执行. 其他人的一些好的总结: http:/

Java数据类型、变量、运算符、语句。

数据类型:整型 int long short byte小数 double float 字符 char 转义字符:\'(单引号字符) \\(反斜杠字符) \n(换行) \r(回车) \t(水平制表符,相当于tab)布尔 boolean 变量:数据类型 变量名[=值][,变量名[=值]];([]里面的内容可以省略)int a;int b = 1;int c,d;int e=2,f=3; 强制转换与自动转换:--赋值的过程中要考虑的问题.数值间的强制转换 用()来实现: double a = (int