146,流程控制语句
来源:互联网 发布:外汇占款 知乎 编辑:程序博客网 时间:2024/05/22 20:23
1,Swift支持的流程结构
>循环结构:for,for-in,while,do-while
>选择结构:if,switch
注:所有语句都必须在大括号里面。
2,for-in和范围运算符
for v in 1...3{
print(v);
}
//1
//2
//3
注:v是常量!
>如果不需要用到循环中的常量v,可以使用下划线_进行忽略
for _ in 1...3{
print("******");
}
//******
//******
//******
3,while结构
>在while中,不需要在每一个case后面添加break,默认情况下,执行完case对应的代码后,自动退出switch>在while中,每一个case后面,必须需要语句。
>在while中,必须处理所有的情况,case没法处理所有的情况下,必须加default,来处理剩余的情况,否则,编译器会报错
var grade:String ="B";
switch grade {
case "A":
print("优秀!");
case "B":
print("良好!");
case "C":
print("中等!");
default:
print("其他!");
}
//良好!
>一个case后面可以填写多个匹配条件,条件之间用逗号,隔开var month:Int =12;
switch month {
case 3,4,5:
print("春天!");
case 6,7,8:
print("夏天!");
case 9,10,11:
print("秋天!");
case 12,1,2:
print("冬天!");
default:
print("其他!");
}
//冬天!
>case还可以匹配元组//判断一个点是否咋爱蓝色的矩形框中
let point:(Int,Int)=(1,1);
switch point{
case (0,0):
print("这点在原点上");
case (_,0):
print("这点在x轴上");
case (0,_):
print("这点在y轴上");
case (-2...2,-2...2):
print("这点在矩形框内");
default:
print("这点在矩形框外");
}
//这点在矩形框内
注:_的作用:能匹配任何值,忽略对应位置元组元素
>在case匹配的同时,可以将switch中的值绑定给一个特定的常量或变量,以便以后可以用
//判断一个点是否咋爱蓝色的矩形框中
let point:(Int,Int)=(1,21);
switch point{
case (0,0):
print("这点在原点上");
case (let x,0):
print("这点在x轴上,值为\(x)");
case (0,let y):
print("这点在y轴上,值为\(y)");
case let(x,y):
print("这个点的x值为\(x),y值为\(y)");
}
//这个点的x值为1,y值为1
>switch可以使用where添加判断条件
//判断一个点是在某条线上
let point:(Int,Int)=(1,1);
switch point{
case let(x,y) where x == y:
print("这点在绿线上");
case let(x,y) where x == -y:
print("这点在紫色线上");
case let(x,y):
print("这个点不在线上");
}
//这点在绿线上
>fallthrough(穿过)作用:执行完当前case后,接着执行fall through后面的case或defaultvar grade:String ="B";
switch grade {
case "A":
print("优秀!");
case "B":
print("良好!");
fallthrough
case "C":
print("中等!");
default:
print("其他!");
}
//良好!
//中等!
>标签的作用:可以用于明确指定退出哪个循环stop:
for _ in 1...2
{
for _ in 1...3
{
print("做引体向上")
break stop;
}
print("休息一下")
}
- 146,流程控制语句
- 流程语句控制语句
- SQL流程控制语句
- 控制流程语句
- Oracle 流程控制语句
- 03 流程控制语句
- 流程控制语句
- SQL流程控制语句
- C#流程控制语句
- Java流程控制语句
- 流程控制语句
- 流程控制语句
- Shell流程控制语句
- java流程控制语句
- 流程控制语句
- C#流程控制语句
- ruby流程控制语句
- java流程控制语句
- Linux Framebuffer驱动剖析之一—软件需求
- jquery学习--jQuery安装
- 基于云计算的性能测试平台-云测汇
- Linux下解决mysql中文乱码问题
- Servlet复习(三)监听器
- 146,流程控制语句
- Ajax跨域问题
- Hibernate框架学习之三:深入映射文件的配置
- mac装apk到安卓手机
- CSDN-markdown 编辑器Example
- 判断点在任意多边形(包括凹凸边形)内
- 最小二乘法C语言的实现
- JQuery插件写法
- python-web加载性能测试(初级)