swift流程控制
来源:互联网 发布:北京人少的景点知乎 编辑:程序博客网 时间:2024/05/17 22:23
/// //////////////////// if条件句可选值 ///////////////////////
var str: String? ="hello"//这样的写法是可选值也就是str 的只是可以改成nil什么的
//print(str == nil)
str = nil;
var greeting = "haha"
if let name =str {//如果可选值为nil,条件判断为false大括号中的代码会被跳过,如果不是nil,则会赋值给let后面的常量,这样代码中就可以使用这个值了
greeting ="hehe,\(name)"
}else {
greeting ="heihei"
}
print(greeting)
let name : String? =nil //可选值
let name2 : String ="wpy"// 默认值
let name3 = "Hi\(name ??name2)"//如果可选值缺失的话,可以用默认值来代替
print(name3)
/// //////////////////////////// switch /////////////////////////////////
//switch 支持 任意类型的数据 以及 各种比较操作 (已不再仅仅是整数以及测试相等了)
let st = "cucumber popper"
switch st {
case"colery":
print("1111");
//break
case"cucumber","watorcress":
print("222")
//break
caselet y where y.hasPrefix("cucumber")://他将匹配等式的值赋值给常量y
print("ta is\(y)")
caselet x where x.hasSuffix("popper")://运行switch中一旦匹配到的字句之后,程序就会停止,并不会在往下运行,所以就不要break了
print("it is\(x)")
//break
default://没有default会报错
print("ok")
}
/// //////////////////for 循环///////////////////////////
///////单循环数组
let arr = [75,43,103,87,12]
var score = 0
for s inarr {
if s >50 {
score +=3
} else {
score +=1
}
}
print(score)
//////双循环字典
let dic = [
"P" : [2,3,5,7,11,13],
"F" : [1,1,2,3,5,8],
"S" : [1,4,9,16,25],
]
var max = 0
var type:String =""
//用for-in来遍历字典需要两个变量来表示每个键值对 字典是一个无序的集合所以它的键值任意顺序迭代结束
for (key,values) indic {
for numberin values{
if number >max {
max = number
type = key
}
}
}
print(type +"\(max)")
//循环中使用 ..<表示范围 也可以用传统的方法
var wpy1 = 0
for i in0..<4 {//不包括上界
wpy1 += i
}
print(wpy1)
var wpy2 = 0
for i in0...4 {//包括上界
wpy2 += i
}
print(wpy2)
//传统的方法单系统会推荐你用 上面的方法
var wpy3 = 0
for var i =0;i < 4 ;i+=1 {
wpy3 += i
}
print(wpy3)
//////////////////////////////// while /////////////////////
var n = 1
var sum = 0
while n <100 {
sum +=n
n +=1 //n ++会警告
}
print(sum)
var sum1 = 0
repeat {
sum1 +=n;
} whilen < 0//相当于do-while不管是否符合条件 都会执行一次
print(sum1)
- swift之流程控制
- swift 流程控制
- swift流程控制语句
- Swift流程控制
- Swift流程控制语句
- swift流程控制
- Swift - 流程控制
- Swift流程控制
- swift流程控制
- swift 04 流程控制
- swift流程控制
- Swift 流程控制
- swift流程控制
- swift 3.0 -流程控制
- Swift--04流程控制
- Swift之控制流程语句
- 第二节 Swift流程控制
- Swift学习笔记 -- 流程控制
- AsyncTask加载ListView和处理ImageView 更新线程问题
- CentOS7安装Memcached和PHP扩展
- js 日期格式化
- poython正则表达式
- 设计模式(九) 组合模式
- swift流程控制
- ubuntu 各个目录的作用
- NS2的整体实现
- 用户体验要素
- Android data目录读写文件
- String和验证
- 51nod 1298 圆与三角形
- 关于 Des加密(Android与ios 与后台java服务器之间的加密解密)
- bzoj 2734(状压DP+神题)