Java和Swift的大部分控制语句是一样,但是也有些不一样,Java中关键字后面如果不止一个变量,则需要用括号括起来,Swift则不需要,下面我们来详细看看各个控制流语句。
For-In
这是Swift里面特有的控制流语句,在Java之中是没有的,但是Java之中有个foreach语句,算是跟这个比较像。用法很简单,循环来遍历一个集合里面的所有元素:
for index in 1...5 {
print("(index) times 5 is (index * 5)")
}
- 1
For
这个Java跟Swift一样,使用条件判断和递增方法来遍历集合里面的所有元素:
for var index = 0; index < 3; ++index {
print("index is (index)")
}
- 1
While 循环
while循环运行一系列语句直到条件变成false。这类循环适合使用在第一次迭代前迭代次数未知的情况下。包括:
while循环Swift跟Java一样,repeat-while跟Java里面的do-while是一样的,我们就不多说了。
If语句
Switch语句
这个跟Java有些不一样,Java中我们需要写break来中断一个case分支,swift则不需要,会自动中断case分支。还有一个不同就是switch表达式比Java更广泛,Java 8以前只支持int、byte、char、short,以后才支持String,但是Swift支持区间匹配,字符串,字符,元组类型,case分支还支持值绑定(Value Bindings)和where语句来判断额外的条件,比Java中的Switch语句更加强大。我们看个例子:
let yetAnotherPoint = (1, -1)
switch yetAnotherPoint {
case let (x, y) where x == y:
print("((x), (y)) is on the line x == y")
case let (x, y) where x == -y:
print("((x), (y)) is on the line x == -y")
case let (x, y):
print("((x), (y)) is just some arbitrary point")
}
- 1
Continue和Break
贯穿(Fallthrough)
贯穿(Fallthrough)是swift里面特有的,默认情况下Switch语句的case分支是自动中断的,如果加上Fallthrough就会自动贯穿到下一个case分支,就跟Java中不加break关键字是一样的效果。
带标签的语句
这个是swift中特有的,如果我们有两个for循环,默认情况下break只能中断第一个for循环,但是使用带标签的语句可以同时中断两个for循环语句,非常方便,我们看个例子:
a:for var i = 0;i<10;++i{
for var j = 0;j < 10;++j{
if i == j{
print("i=(i) and j=(j)")
break a
}
}
}
- 1
这个时候就只会打印i=0 and j=0,因为这个时候i==j整个循环就退出了,不会再执行了,很方便。
提前退出guard
guard语句也是Swift特有的也很方便,当然在Java中可以有类似的方法来实现,我们还是先来看例子吧:
func greet(){
var first = 10;
guard first > 10 else{
print("first是小于或者等于10的")
return
}
print("first是大于10的")
}
greet()
- 1
结果打印出”first是小于或者等于10的”,我们看到first大于10,为假,就执行else后面的语句,这个时候整个函数退出,不再执行后面的语句,很好理解吧,灵活的使用的可以增加代码的可读性!!!
原文地址:https://blog.csdn.net/stationinthemind/article/details/127862915
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_29488.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!