文档章节

3流程控制

阿元
 阿元
发布于 2017/02/10 16:02
字数 551
阅读 3
收藏 0
点赞 0
评论 0

##3.1 for 循环 ###for - in 循环结构

for loopVariable in startNumber ...endNumber

“...”告诉Swift起始数字和结束数字指定的是范围

 1> var loopCounter : Int = 0
loopCounter: Int = 0
  2> for loopCounter in 1...5{
  3.     print("\(loopCounter)times \(loopCounter * loopCounter)")
  4. }
1times 1
2times 4
3times 9
4times 16
5times 25

###另一种指定范围语法"..<"

  8> for loopCounter in 1..<5 {
  9.     print("\(loopCounter)times \(loopCounter * loopCounter)")
 10. }
1times 1
2times 4
3times 9
4times 16

"..<"比结束数字小1,用作数组索引时比较直观(因为数组索引从0开始)

###老式 for 循环 Swift3.0中去掉 需要stride方法的协助

 13> for i in stride (from:10 ,through: 0 , by: -1) {
 14.     print("\(i)")
 15. }
10
9
8
7
6
5
4
3
2
1
0

reversed反转

 16> for i in (0...10).reversed() {
 17.     print("\(i)")
 18. }
10
9
8
7
6
5
4
3
2
1
0

###简写

 19> var anotherLoopCounter = 3
anotherLoopCounter: Int = 3
 20> anotherLoopCounter += 2
 21> anotherLoopCounter
$R0: Int = 5
 22> anotherLoopCounter -= 3
 23> anotherLoopCounter
$R1: Int = 2
 24> anotherLoopCounter++
error: repl.swift:24:19: error: '++' is unavailable: it has been removed in Swift 3
anotherLoopCounter++
                  ^~
                   += 1

递增++,递减--,swift3.0移除 移除原因参考http://swift.gg/2016/03/30/swift-qa-2016-03-30/

##3.2 if 语句

var trafficLight = "Greed"
if trafficLight != "Greed" {
	print("Stop!")
}else{
	print("Go!")
}

比较运算符 “==” 等于 “!=” 非等于 “>” 大于 “<” 小于 “>=” 大于等于 "<=" 小于等于

比较字符串

let tree1 = "Oak"
let tree2 = "Pecan"
let tree3 = "Maple"
let treeCompare1 = tree1 > tree2
let treeCompare2 = tree2 > tree3

###if ,else if

var treeArray = [tree1, tree2 , tree3]
for tree in treeArray{
	if tree == "Oak"{
		print("Furniture")
	}else if tree == "Pecan"{
		print("Pie")
	}else if tree == "Maple"{
		print("Syrup")
	}
}

##3.3switch 字符串作为判断

treeArray += ["Cherry"]
treeArray += ["apple"]
for tree in treeArray{
	switch tree {
	case "Oak":
		print("Furniture")
	case "Pecan","Cherry":
		print("Pie")
	case "Maple":
		print("Syrup")
	default:
		print("Wood")
	}
}
Furniture
Pie
Syrup
Pie
Wood

一般数字做判断

var position = 7
switch position {
case 1:
	print("\(position)st")
case 2:
	print("\(position)nd")
case 3:
	print("\(position)rd")
case 4...9:
	print("\(position)th")
default:
	print("Not coverd")
}
7th

swift中移除OC中switch的break,判断匹配到的语句后直接跳出

##3.4while循环

var base = 2
var target = 100
var value = 0
while value < target {
	value += base;
}

do-while 更换为repeat-while(第一次执行完,在判断是否继续执行while循环)

repeat{
	value += base
}while value < target

break提前结束循环

var speedLimit = 75
var carSpeed = 0

while (carSpeed < 100){
	carSpeed += 1
	switch carSpeed {
	case 0...30:
		print("low Speed\(carSpeed)")
	case 31...50:
		print("Normal Speed\(carSpeed)")
	case 51...75:
		print("Litter Faset\(carSpeed)")
	default:
		print("Too Fast must Stop")
	}
	//break 提前结束循环
	if(carSpeed > speedLimit){
		break
	}
}

© 著作权归作者所有

共有 人打赏支持
阿元
粉丝 5
博文 153
码字总数 95996
作品 0
浦东
程序员
项目工程类的流程在ccflow中应用与设计说明书

说明: -------------------------------------- 1, Prj为项目工程所用的一些扩展应用,项目流程也可以称呼为工程流程,是为了建造一个跨期比较长的工程在每个环节上需要流程控制。 2, 项目流程...

ccflow ⋅ 2011/12/09 ⋅ 0

小蚂蚁学习C语言(7)——C语言流程控制之if

其实我感觉只要学过一门编程语言的人都会使用。 流程控制(非常重要) 1,什么流程控制 控制程序的执行顺序 流程控制的重要性 一通百通 C++ java C+ 都是一样的。 等等……总之就是非常的重要...

嗜学如命的小蚂蚁 ⋅ 2015/12/03 ⋅ 0

web工作流管理系统开发之六 表单权限与流程的权限控制

在设计工作流系统的时候,常常会碰到这样的情况: 同一张表单需要在流程的多个环节中处理,且各环节的处理情况不一致,有的节点可写,有的节点之可读。 例如,同一张报销单:员工填写报销单时...

长平狐 ⋅ 2012/10/11 ⋅ 0

SylixOS的SD协议栈(SD总线下的SD存储设备)

1.内容简介 SD设备包括SD存储设备和SDIO设备两种。 SD设备一般支持SD总线接口和SPI总线接口两种工作方式,两者的硬件接口不同,如图 1-1所示。 图 1-1 SD硬件接口 本文目前涵盖的内容如下: ...

zhywxyy ⋅ 2017/02/05 ⋅ 0

一个被遗忘的ccflow工作流引擎自定义表单开发模式

定义概述:一个已经做好的表单需要绑定到节点上 , 该文章在驰骋工作流引擎流程引擎设计器中。 自定义表单工作模式:流程控制按钮区域是ccflow来完成,表单区域是放在控制区域下面的框架里,...

ccflow ⋅ 2015/01/24 ⋅ 0

swift 流程控制

swift 流程控制 // // main.swift // swift流程控制 // // Created by zhangbiao on 14-6-13. // Copyright (c) 2014年 理想. All rights reserved. // import Foundation // swift 流程控制......

法斗斗 ⋅ 2016/03/03 ⋅ 0

三个分享——异步流程控制 / Modern Node.js/Java项目如何与Node.js共存

分享1《深入浅出js(Node.js)异步流程控制》 StuQ分享专题《深入浅出js(Node.js)异步流程控制》 InfoQ 前端之巅分享 精简版 摘要 目前在js流程控制领域越来越乱,各种派系。。。比如promi...

i5ting ⋅ 2016/07/18 ⋅ 6

SylixOS下IIS驱动编程

目录 1. IIS简介 1 2. 数字声音简介 1 2.1 采样频率 1 2.2 量化位数 1 2.3 声道数 1 3. WAV音频文件格式简介 2 3.1 文件格式 2 3.2 原始声音数据的组织方式 2 4. Mini2440声卡的连接方式 3 ...

深山野老 ⋅ 2017/05/15 ⋅ 0

Oracle数据库启动模式简介

Oracle数据库启动模式简介 使用startup命令启动Oracle数据库。Oracle数据库启动流程如下: 1、首先查找spfileSID文件,如果此文件存在,就使用此文件启动 Oracle实例 。 2、如果没有找到spf...

LiJIaming ⋅ 2012/06/02 ⋅ 0

Easy!Flow

Easy!Flow™是专为您的项目开发团队定制的,面向过程的,多合一的解决方案(Eclipse插件)。 Eclipse Update 地址:http://www.ez-sw.com/scmclient/eclipse/update/ 在线视频演示:http://...

匿名 ⋅ 2009/09/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 24分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 32分钟前 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 45分钟前 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 55分钟前 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

zabbix 3.4安装

#已装好lamp环境 1.安装相关yum仓库 rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #tip:rpm -ql zabbix-release 看上面这个软件装了哪些东......

山月关 ⋅ 今天 ⋅ 0

Java的Excel导出工具类

首先在POM中引入需要的Jar <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>o......

Kxvz ⋅ 今天 ⋅ 0

springboot 使用jsp

目录结构: 启动文件的Application必须在contorller文件的父级 文件路径在src/main/webapp下面 我的配置:前缀是/WEB-INF/jsp/ pom.xml需要加入tomcat-embed-jasper, 对jsp的支持的依赖 <de...

夜醒者 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部