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)
	}
}
发布了188 篇原创文章 · 获赞 62 · 访问量 18万+

猜你喜欢

转载自blog.csdn.net/Code_7900x/article/details/88777687