[原创]Scala学习:流程控制,异常处理

时间:2023-03-09 18:54:12
[原创]Scala学习:流程控制,异常处理

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)
}