Scala基础-控制结构
1.if表达式
基本语法结构(和java,c++类似):
if (表达式){
语句块1
}
else if (表达式){
语句块2
}
..
..
else{
语句块n
}
但有一点不同,Scala中if表达式会有一个返回值,和C++,java的三目运算符(表达式?表达式/变量:表达式/变量)有些类似,看下面例子:
scala> var a = if (6>0) 1 else -1
a:Int = 1
2.while循环
循环结构和C++,java一样:
while(表达式){
循环体
}
或者
do{
循环体
}while(表达式)
3.for循环表达式
for循环和java、c++差很多,Scala中提供了各种容器遍历的强大功能。for循环最简单的用法就是对一个容器的所有元素进行枚举,基本语法结构为:
1. for(变量 <- 表达式) {语句块}
2. for(变量 <- 表达式 if 条件表达式 ) {语句块} //守卫式
3. for(变量 <- 表达式) yeild {语句块} //yield关键字
具体介绍下2、3:
看下面例子:
scala> for(i <- 1 to 5 if i%2==0) println(i)
2
4
scala> var r = for(i <- 1 to 5 if i%2==0) yield {println(i);i}
2
4
r: scala.collection.immutable.IndexedSeq[Int] = Vector(2, 4)
4.异常处理结构
Scala将所有的异常都当作非检查型异常。
基本使用方法:
try{
}
catch{
}
finally{
}
5.对循环的控制
Scala中没有break和continue两个关键字,而是通过Breaks类来实现类似功能。
基本使用方法:
breakable{
...
if (...) break
...
}
同java中break:
import until.control.Breaks._
val array = Array(1,3,10,5,,4)
breakable{
for(i<- array){
if (i>5) break //终止for循环
println(i)
}
}
同java中continue:
//终止当次循环
for(i<- array){
breakable{
if (i>5) break //终止for循环
println(i)
}
}