swift系统学习第一章
第一节:变量,常量,类型推断,字符,字符串
//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系统学习第一章的更多相关文章
- swift系统学习第二章
第五节:可选类型 optional //: Playground - noun: a place where people can play import UIKit /* Swift学习第五节 可选 ...
- web学习第一章
web学习第一章 我是大概9月10日开始走上IT之路的,一开始学习了小段时间的自动化办公软件, 昨天我开始学习客户端网页编程,我了解什么是WEB,一些比较老古董的计算模式和发展历史,印象最让我深刻 ...
- oracle学习 第一章 简单的查询语句 ——03
1.1最简单的查询语句 例 1-1 SQL> select * from emp; 例 1-1 结果 这里的 * 号表示全部的列.它与在select 之后列出全部的列名是一样的.查询语句以分号( ...
- Intel汇编语言程序设计学习-第一章 基本概念
第一章基本概念 1.1 简单介绍 本书着重讲述MS-Windows平台上IA-32(Intel Architecture 32bit,英特尔32位体系架构)兼容微处理器的汇编语言程序设计,可以使用I ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第一章
Asp.Net MVC4 + Oracle + EasyUI 第一章 --操作数据和验证 本文链接:http://www.cnblogs.com/likeli/p/4234238.html 文章集合 ...
- Java基础知识二次学习-- 第一章 java基础
基础知识有时候感觉时间长似乎有点生疏,正好这几天有时间有机会,就决定重新做一轮二次学习,挑重避轻 回过头来重新整理基础知识,能收获到之前不少遗漏的,所以这一次就称作查漏补缺吧!废话不多说,开始! 第一 ...
- C#高级编程 (第六版) 学习 第一章:.Net体系结构
第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库. ...
- Ruby学习-第一章
第一章 字符串,数字,类和对象 为了证明Ruby真的好用,hello world也能写的如此简洁: puts 'hello world' 1.输入/输出 print('Enter your name' ...
- Artech的MVC4框架学习——第一章初步认识ASP.NET MVC
前言: Artech觉得掌握ASP.NET MVC具有三个层次. 第一层了解基本的编程模式,掌握Controller和View的定义方式,知道路由如何注册以及验证规则如何定义. 第二个层次要求我们对A ...
随机推荐
- (01)odoo模型中调用窗体动作
*模型代码 addons/stock/stock.py ---------------- #移库单执行移库动作(弹出详细框) @api.cr_uid_ids_context def ...
- mongodb的安装及注意事项
环境:win8 32bit 1:安装 去mongodb的官网http://www.mongodb.org/downloads下载32bit的包 解压后会出现以下文件 在安装的盘C:下建立mongodb ...
- HDU 4122
Alice's mooncake shop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- MySql的导入与导出
1.导入 load data infile '/tmp/yhb/skin_info.txt' into table t_skin fields terminated by '\t' (skin_id, ...
- centos 6.5 64位编译 apache2.4
apache 2.4的安装和 apache2.2的安装有所不同 首先进入 http://apr.apache.org/download.cgi 下载 apr 和 apr-util 两个软件包 yum ...
- javascript 把字符串转换为对象
function strToJson(str) { var json = (new Function("return " + str))(); return json;}
- configure错误列表供参考
另外附一些常见的configure错误列表供参考: configure: error: No curses/termcap library found网上有的说法是:--with-named-curs ...
- jquery返回上一页面
window.location.href=document.referrer; 返回然后刷新 window.history.back(-1); 返回不刷新
- 常州培训 day1 解题报告
第一题:(骗分容易,AC难.) 题目大意: 给出一个字符串,找出满足条件A的区间的个数.A:字符A,B,C的出现次数相同. 都出现0次也算,区间的长度可以是0(就是只有一个数).30% |S| ≤ 1 ...
- for循环语句示例应用
age = 22 #优化前 ''' for i in range(10): guess_num = int(input('input your guess num:')) if guess_num = ...