//
// ViewController.swift
// Swift-循环语句
//
// Created by luorende on 16/12/08.
// Copyright © 2016年 luorende. All rights reserved.
// import UIKit class ViewController: UIViewController { override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. // 循环语句能够使程序代码重复执行。Swift编程语言支持4种循环构造类型:while、do while、for和for in。for和while循环是在执行循环体之前测试循环条件,而do while是在执行循环体之后测试循环条件。这就意味着for和while循环可能连一次循环体都未执行,而do while将至少执行一次循环体。for in是for循环的变形,它是专门为集合遍历而设计的。 // 一、 for 的用法
// 一般格式:for 变量;变量<某个值;变量++
// 例子 1
for i in ..< { //从0开始到小于5
print("i=\(i)")
}
// 例子 2 Swift3.0会报错,好像说是移除C的风格
// var j=0 //把变量写在外面
// for j=0; j<5 ; j += 1 {
// print("j=\(j)")
// } // 二、for in 的用法
// 格式:for 变量或临时变量 in 集合
// 说明:当执行for in语句的时候,集合中所对应的值依次会赋给变量或临时变量
// 例子 1
// 字符串遍历:
var str = "ABCDEFG"
for temp in str.characters {//遍历字符串里面的字符
print(" temp=\(temp) ")
} // 例子 2
// 遍历序列
let A = ...// ... 三个点表示序列 即 1到5的序列(1,2,3,4,5)也可以说是1-5的合集
for temp in A {
print("temp=\(temp)")
}
/**
运行结果:
temp=1
temp=2
temp=3
temp=4
temp=5
*/ // for 循环遍历int整形数组的里的个数
let numbers = [,,,,,,,,,]
for i in ..< numbers.count {
print("Count is: \(i)")
} // for-in遍历一个数组所有元素:
let names = ["Anna","Alex","Brian","Jack"]
for name in names {
print("Hello, \(name)!")
}
/**
运行结果:
Hello,Anna!
Hello,Alex!
Hello,Brian!
Hello,Jack!
*/ // 你也可以通过遍历一个字典来访问它的键值对(key-value pairs)。遍历字典时,字典的每项元素会以(key, value)元组的形式返回,你可以在for-in循环中使用显式的常量名称来解读(key, value)元组。下面的例子中,字典的键(key)解读为常量animalName,字典的值会被解读为常量legCount:
let numberOfLegs = ["spider":,"ant":,"cat":]
for(animalName,legCount)in numberOfLegs {
print("\(animalName)s have \(legCount) legs")
}
/**
运行结果
spiders have 8legs
ants have 6legs
cats have 4legs
*/ // 三、while 用法
// 格式:while 布尔值 {}
// 说明:只有当while后面的布尔值为false,才停止while语句,否则一直执行while语句
var i = //只有满足条件(i<5)才跳出while语句
while (i<) {
print("i=\(i)")
i +=
}
/**
运行结果
i=0
i=1
i=2
i=3
i=4
*/ // 四、do {} while 布尔值 do换了个写法,换成了repeat关键字
// 说明: 1.现在执行 do 语句
// 2.然后再执行while语句
// 3.如果while语句后面的布尔值为false就停止do while语句,否则就一直执行do while语句
// do while循环没有初始化语句,循环次数是不可知的,不管循环条件是否满足,都会先执行一次循环体,然后再判断循环条件。如果条件满足则执行循环体,不满足则停止循环。 var k=
repeat { print("k=\(k)")
k += } while (k<=)
//
/**
运行结果:
i=1
i=2
i=3
i=4
i=5
*/ // switch 语句
// Swift里的switch循环语句里面可以省略了break; // 例子
let l=
switch (l) {
case : // case后面必须要跟一个变量,当i=0就执行case当前语句下面对应的方法
print("l=\(l)") case ,: // case后面可以跟两个变量,多个变量可以用逗号隔开,当i=1或者2的时候就执行case语句下面对应的方法
print("l==\(l)") default: // 如果i都不满足一下条件的时候就执行default语句下面对应的方法
print("default") }
/**
运行结果:
i==1
*/ // switch 序列匹配
/**
第一种用法:范围匹配
*/
let a=
switch (a) {
case ...://case后面跟一个序列,序列是一个集合变量,当i在1到50的范围下就执行case下面对应的方法或语句
print("1...50->a=\(a)")
case ...://case后面跟一个序列,序列是一个集合变量,当i在50到100的范围下就执行case下面对应的方法或语句
print("50...100->a=\(a)")
default://如果i的取值范围都不满足条件,就执行default下面对应的方法或者语句
print("default")
}
/**
运行结果:
50...100->i=75
*/ /**
第二种用法:元组匹配
*/ let string = (,) // str 是元组变量
switch (string) {
case (...,...):// 如果元组变量str的范围(0到1,0到1)
print("(0...1,0...1)-->str=\(str)")
case (...,...):// 如果元组变量str的范围(1到2,1到2)
print("(1...2,1...2)-->str=\(str)")
default:
print("default")
}
/**
运行结果:
(1...2,1...2)-->str=(1, 2)
*/ }
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
} }

iOS -Swift 3.0 -for(循环语句用法)的更多相关文章

  1. iOS -Swift 3.0 -String(字符串常规用法)

    // // ViewController.swift // Swift-String // // Created by luorende on 16/9/10. // Copyright © 2016 ...

  2. Swift流程控制之循环语句和判断语句详解

    Swift提供了所有c类语言的控制流结构.包括for和while循环来执行一个任务多次:if和switch语句来执行确定的条件下不同的分支的代码:break和continue关键字能将运行流程转到你代 ...

  3. bash 编程中循环语句用法

    1.if 是单分支语句,使用格式如下: if condition ; then statement ….. fi 2.if … else 是双分支语句,使用格式如下: if condition ; t ...

  4. shell脚本中select循环语句用法

    shell脚本中select循环语句 1. 脚本中select的语法格式 select VAR in LIST do command1 command2 ... ... commandN done s ...

  5. iOS -Swift 3.0 -Array(数组与可变数组相关属性及用法)

    // // ViewController.swift // Swift-Array // // Created by luorende on 16/9/12. // Copyright © 2016年 ...

  6. swift 2.0 语法 循环

    //: Playground - noun: a place where people can play import UIKit /*: for循环 * 基本用法和OC一致 * 条件表达式必须是bo ...

  7. iOS -Swift 3.0 -UIButton属性大全

    // //  ViewController.swift //  Swift-UIButton // //  Created by luorende on 16/9/9. //  Copyright © ...

  8. iOS -Swift 3.0 -UILabel属性大全

    昨天研究了一下苹果近两年新出的Swift语言,感觉学起来并不是很吃力,毕竟自己有过Objective-C的语言功底,所以各方面的属性控件还是一眼就可以认出的,只是Swift的写法与Objective- ...

  9. Swift 2.0 单例的用法

    单例我们项目中是很常用的,今天刚学了在swift中怎么写单例和调用单例.下面我们简单的介绍一下.我们先看看Swift单例的写法: import UIKit class Shareinstance: N ...

随机推荐

  1. linux日志文件

    linux日志文件 在系统运行正常的情况下学习了解这些不同的日志文件有助于你在遇到紧急情况时从容找出问题并加以解决. /var/log/messages — 包括整体系统信息,其中也包含系统启动期间的 ...

  2. 浏览器-09 javascript引擎和Chromium网络栈

    语言的运行 C/C++语言 使用编译器直接将它们编译成本地代码(机器指令),这是由开发人员在代码编写完成之后实施; 用户只是使用这些编译好的本地代码,这些本地代码被系统的加载器加载执行,由操作系统调度 ...

  3. CodeForces 518B. Tanya and Postcard

    B. Tanya and Postcard time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  4. C#生成二维码的方法

    本文实例讲述了C#生成二维码的方法.分享给大家供大家参考.具体实现方法如下: 首先引用ThoughtWorks.QRCode.dll 具体代码如下: 复制代码 代码如下: using System; ...

  5. redis使用watch完成秒杀抢购功能

    Redis使用watch完成秒杀抢购功能: 使用redis中两个key完成秒杀抢购功能,mywatchkey用于存储抢购数量和mywatchlist用户存储抢购列表. 它的优点如下: 1. 首先选用内 ...

  6. RCurl getURL()函数做debug

    getURL()函数做获取网页做debug,三步骤 1.首先创建一个对象debugGatherer(),该对象包含三个函数:(update(), value(), reset()); R> de ...

  7. WebForms 开发基础

    webform开发方式 xml - 可扩展的标记语言 HTML - 超文本标记语言 运行: 点击启动按钮 - 好处:可以卡断点 弊端:启动特别慢 在html上右键,在浏览器中查看 - 好处:启动特别快 ...

  8. memcache 笔记

    在windows下安装memecache,进入到安装目录,执行帮助命令可以查看到相关帮助 启动memcache,相关命令如上,比如-p就是端口号,memcache默认端口号是11211 语法:增加ad ...

  9. Learn ZYNC (5)

    今天为了熟悉axiLite的自定义ip核设计, 把LED和SW的往AXI总线输入输出定义在一个ip核中, BD设计如下: ip核顶层文件(增加了LED_Out和SW_In的定义)mygpio_v1.0 ...

  10. 跳转到下一个activity

    /* * 第一个跳转代码 */ button.setOnClickListener(new OnClickListener() { @Override public void onClick(View ...