![[原创]Scala学习:流程控制,异常处理 [原创]Scala学习:流程控制,异常处理](https://image.shishitao.com:8440/aHR0cHM6Ly9ia3FzaW1nLmlrYWZhbi5jb20vdXBsb2FkL2NoYXRncHQtcy5wbmc%2FIQ%3D%3D.png?!?w=700&webp=1)
1.流程控制
1)do..while
def doWhile(){
var line=""
do{
line = readLine()
println("readlineConetent" + line )
}while(line != " ")
}
2)for
方式一:
for (arg <-args)
println(arg)
方式二:
for (i <- 1 to 10 if i % 2 == 0)
println(i)
for参数里面同样支持if判断。比如输出1——10中的偶数
for (i <- 1 to 10 if i % 2 == 0)
println(i)
增强for循环
//增强for循环
def doForStrenth(){
var files = (new java.io.File(".")).listFiles()
for(file <- files){
println(file)
}
}
3)while
var i=0
while (i < args.length) {
println (args(i))
i+=1
}
4)if .. else .. (可以将结果直接赋值给一个变量)
var file = if(args.isEmpty) args(0) else "spark"
println(file)
注意:
1)Scala不支持i++和++i,需要使用i+=1来实现加一;
2.异常处理
try .. catch 机制,
//异常部分
def doException(){
val n = 99
val file = "scala.text"
// OpenFileInputStreamAction
try {
val half = if (n % 2 == 0) n/2 else throw new RuntimeException("N must be event")
} catch {
case e: Exception => println("This exception is :" +e.getMessage() )
} finally {
// close(file)
}