第一节:变量,常量,类型推断,字符,字符串

 //swift学习第一节
/*
变量
常量
类型推断
字符
字符串
*/ import UIKit //变量
var str = "swift" //类型推断
str = "hello"
var str1:NSString = "shaoting"
var num =
var num2:Int = //常量
let num3 = //类型推断
//num3 = 123 error:常量不可以修改
let str2:NSString = "pheromone" //Int 有符号的整形
//UInt 无符号的整形 Int.max
Int.min var numFloat : Float = /
var numDouble : Double = / var num4 =
num4.dynamicType //类型
var num5 = 0.14
num5.dynamicType num5 = + 0.14
num5.dynamicType
//num5 = num4 + num5 eroor:类型不同不能相加
num5 = Double(num4) + num5 //初始化字符串,默认值为nil
let strr = ""
let strrr = String() let swift:Character = "S"
let swiftInChar:[Character] = ["s","w","i","f","t"];
let swift1 = String(swiftInChar)
let swift11 = swiftInChar var message = "i love you"
let meessageLength = message.characters.count //message[0] error:swift中,访问字符串中的某个字符不能使用字符串数组的某个下标
message.startIndex // 第一个下标
message.endIndex //最后一个下标
message[message.startIndex.successor()] //第一个下标的下一个值
message[message.endIndex.predecessor()] //最后一个下标的上一个值
message[message.startIndex.advancedBy()] message.insertContentsOf("iOS".characters, at: message.startIndex)//在某个字符串的某个位置加入某些字符
message.removeAtIndex(message.endIndex.predecessor())
//message.removeRange(<#T##subRange: Range<Index>##Range<Index>#>) 删除范围内的内容 //比较字符串
let message1 = "ios hello"
if message != message1{
print("!=")
} let swi = "我是一只猿"
swi.hasPrefix("我")//判断前端是否包含
swi.hasSuffix("猿")//判断后端是否包含 for code in swi.utf8 {
print("\(code)")
} //数组
var strS:[String] = ["ios","swift"];
//var strS1:[] = [12,34]; 没有指定元素类型

第二节:元组Tuple 操作符operators

 /*
swift学习第二节
元组 Tuple
操作符 Operators */ import UIKit //元组 :自己定义一组数据,类型也自己定义
let success = (,"HTTP OK")
let fileNotFound = (,"File not found")
let me = (name:"shaoting",no:,email:"510738319@qq.com")
success.
success.
me.name var (code,message) = success
print(code)
print(message) //操作符 Operators
var a =
var b = let sum = a + b
let sub = a - b
let mul = a * b
let div = a / b
let mod = a % b
let mod1 = % b += // b = b+10
b -= // b = b-10
b *= // b = b*10
b /= // b = b/10
b %= // b = b%10 let isEqual = sum ==
isEqual ? "YES" : "NO" //区间运算符
//包含1到5
for index in ...{
print(index) // 1 2 3 4 5
} for index in ..<{
print(index) // 1 2 3 4
}

第三节:集合--有序集合(数组)无序集合(set,dictionary)

 /*
swift学习第三节
集合(数组,set,dictionary)
有序集合: 数组
无序集合: set dictionary
*/ import UIKit
//数组
var ary1:Array<Int> = Array<Int>()//定义一个值为空的int类型的数组
var ary2:[Int] = ary1
var ary3 = ary1 var three = [Int](count: , repeatedValue: )
var six = three + three //相同类型的数组可以做运算 var four = [,,,]
four.count if ary1.isEmpty{
print("ary1 为空数组")
} ary1.append() // 添加元素
ary1 += [,,] // 添加多个
ary1[...]
ary1[..<]
ary1[...] = [,] //修改元素
ary1
ary1.insert(, atIndex: ) //在某个下标添加元素
ary1.removeAtIndex() //删除某下标的元素
ary1.removeFirst() //删除第一个元素
ary1.removeLast() //删除最后一个元素
ary1
for (index,value) in ary1.enumerate(){
print("index : \(index) value : \(value)")
} //set
//输出hash值
let number =
number.hashValue
let PI = 3.14
PI.hashValue
let string = "Swift"
string.hashValue //定义一个元素类型为字符的空set
let emptySet = Set<Character>()
let vomel:Set<Character> = ["a","e","i","o","u"];
var evenSet:Set = [,,,,] //类型推断
evenSet.count //该set的个数
evenSet.removeFirst() //移除set的第一个元素
evenSet.insert() //插入一个元素25
evenSet.contains() //判断是否包含
//因为set是无序集合,想要保证一定顺序可以使用sort
for number in evenSet.sort(){
print(number)
} //setA 和 setB 的交集
var setA : Set = [,,,,]
var setB : Set = [,,,]
let setiAB : Set = setA.intersect(setB)
//setA 和 setB 的对称差
let seteAB : Set = setA.exclusiveOr(setB)
//setA 和 setB 的并集
let unionAB : Set = setA.union(setB)
//setA对于setB的补集
let subAB : Set = setA.subtract(setB) //判断集合是否相等
if setA == setB{
print("相等")
}else{
print("不相等")
} setB.isSupersetOf(setA) //判断B是否是A的超集
setB.isSubsetOf(setA)//判断B是否是A的子集 //字典
//创建一个key是int value是string的字典
var int2String = [Int:String]()
int2String = [:]
int2String[] = "Ten"
int2String[] = "Twenty" var capitalNumber = [
:"一",
:"二",
:"三"
] capitalNumber[] // 字典某个下标值
capitalNumber.count //字典的个数
capitalNumber.isEmpty //判断字典是否为空
capitalNumber.updateValue("yi", forKey: ) //修改字典某个key对应的值
capitalNumber[] = nil //对某个下标置空
capitalNumber.removeValueForKey() //移除某个key对应的值
capitalNumber
capitalNumber.dynamicType //类型 for (key,value) in capitalNumber{
print("\(key):\(value)")
}
let keyAry = [Int](capitalNumber.keys);
let valueAry = [String](capitalNumber.values);

第四节:循环语句(for while repeat-while switch)

 /*
swift学习第四节
循环语句
for while repeat-while switch */
import UIKit for var i = ;i < ; i++ {
print(i)
} let vomel = ["a","e","i","o","u"]
for char in vomel{
print(char)
} for number in ...{
print(number)
} for _ in ...{
print("*",terminator:"")
} var i =
while i < {
print(i)
++i
} //var n = 0
//repeat {
// print(vomel[n])
// ++i
//}while n < 5 let me = "a"
switch me{
case "a":
print("me is \(me)")
case "e":
print("me is \(me)")
case "i":
print("me is \(me)")
case "o":
print("me is \(me)")
case "y":
print("me is \(me)")
default:
print("都不是")
} switch me{
case "a","e","i","o","u":
print("这个是元音")
default:
print("这个不是元音")
} let number =
switch number{
case ...:
print("这个数在1-10之间")
case ...:
print("这个数在11-99之间")
default:
print("这个数大于100")
} let point = (,)
switch point{
case (,):
print("在原点")
case (_,):
print("在x轴上")
case (,_):
print("在y轴上")
case (-...,-...):
print("在该范围内")
default:
print("位置跑偏")
} switch point{
case (let x,):
print("\(x)")
case (,let y):
print("\(y)")
case let(x,y):
print("\(x),\(y)")
} switch point{
case let(x,y) where x == y:
print("X=Y")
case let(x,y) where x == -y:
print("x=-y")
case let(x,y):
print("\(x),\(y)") }

源码下载地址:

http://download.csdn.net/detail/shaoting19910730/9461377

https://github.com/pheromone/swift-

swift系统学习第一章的更多相关文章

  1. swift系统学习第二章

    第五节:可选类型 optional //: Playground - noun: a place where people can play import UIKit /* Swift学习第五节 可选 ...

  2. web学习第一章

    web学习第一章   我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...

  3. oracle学习 第一章 简单的查询语句 ——03

    1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...

  4. Intel汇编语言程序设计学习-第一章 基本概念

    第一章基本概念 1.1  简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...

  5. Asp.Net MVC4 + Oracle + EasyUI 学习 第一章

    Asp.Net MVC4 + Oracle + EasyUI  第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...

  6. Java基础知识二次学习-- 第一章 java基础

    基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...

  7. C#高级编程 (第六版) 学习 第一章:.Net体系结构

    第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...

  8. Ruby学习-第一章

    第一章 字符串,数字,类和对象 为了证明Ruby真的好用,hello world也能写的如此简洁: puts 'hello world' 1.输入/输出 print('Enter your name' ...

  9. Artech的MVC4框架学习——第一章初步认识ASP.NET MVC

    前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...

随机推荐

  1. 工程目录 Java/Web/Maven

    jar包和war包的区别 war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块.而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运 ...

  2. (18)odoo规范

    * 约定    # 命名会用  蛇形式或驼峰式        todo_task_stage 蛇形式        class TodoTask 驼峰式      变量名还是蛇形居多, 类名和方法名驼 ...

  3. PHP读取文件夹目录,按时间排序,大小排序,名字排序

    工作中有时候会遇到文件存储数据,但是在前台显示的时候又因为没有数据库,无法使用上传或最后一次修改日期字段排序,所以有了如下代码: <?php $dir = "./";//目录 ...

  4. javaSE之如何将一个文件复制到另一个文件

    /* * (1). 文件字符输入,输出流 * 文件字节输入,输出流的read和write方法使用 * 字节数组读写数据,即以字节为单位处理数据,因此,字节流不能很好的操作Unicode字符 * ,比如 ...

  5. 警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ..

    解决办法是:关闭tomcat,双击eclipse下tomcat服务器,在出来的Tomcat server at localhost页面中找到server options选项,选中其中的选项" ...

  6. poj1190 生日蛋糕(深搜+剪枝)

    题目链接:poj1190 生日蛋糕 解题思路: 深搜,枚举:每一层可能的高度和半径 确定搜索范围:底层蛋糕的最大可能半径和最大可能高度 搜索顺序:从底层往上搭蛋糕,在同一层尝试时,半径和高度都是从大到 ...

  7. loadrunner 参数化数据更新方式

    数据分配方式: Select next row[选择下一行]: 顺序(Sequential):按照参数化的数据顺序,一个一个的来取. 随机(Random):参数化中的数据,每次随机的从中抽取数据. 唯 ...

  8. POJ 1094 拓扑排序

    Description:      规定对于一个只有大写字母的字符串是有大小顺序的.如ABCD.即A<B.B<C.C<D.那么问题来了.现在第一行给你n, m代表序列里只会出现前n的 ...

  9. .NET C#使用微信公众号登录网站

    适用于:本文适用于有一定微信开发基础的用户 引言:花了300大洋申请了微信公众平台后,发现不能使用微信公众号登录网站(非微信打开)获得微信帐号.仔细研究后才发现还要再花300大洋申请微信开放平台才能接 ...

  10. bzoj 1818: [Cqoi2010]内部白点

    #include<cstdio> #include<iostream> #include<algorithm> using namespace std; struc ...