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

1.流程控制 

  1)do..while

1   def doWhile(){
2       var line=""
3       do{
4           line = readLine()
5           println("readlineConetent" + line )
6       }while(line != " ")
7   }

 

  2)for    

方式一:

1 for (arg <-args)
2   println(arg)

 

方式二:

1 for (i <- 1 to 10 if i % 2 == 0) 
2   println(i)

 

for参数里面同样支持if判断。比如输出1——10中的偶数  

1 for (i <- 1 to 10 if i % 2 == 0) 
2   println(i)

 

 

增强for循环

1 //增强for循环
2   def doForStrenth(){
3     var files = (new java.io.File(".")).listFiles()
4     for(file <- files){
5       println(file)
6     }
7   }

 

 

 

  3)while

1 var i=0
2 while (i < args.length) {
3   println (args(i))
4   i+=1
5 }

 

  4)if .. else ..  (可以将结果直接赋值给一个变量)

1   var file = if(args.isEmpty) args(0) else "spark"
2    println(file)

 

 

注意:

  1)Scala不支持i++和++i,需要使用i+=1来实现加一;

  

 

2.异常处理

try .. catch 机制,

  

 1   //异常部分
 2     def doException(){
 3       val n = 99
 4       val file = "scala.text"
 5      // OpenFileInputStreamAction
 6       try {
 7         val half = if (n % 2 == 0) n/2 else throw new RuntimeException("N must be event")
 8       } catch {
 9         case e: Exception => println("This  exception is :" +e.getMessage()  )
10       } finally {
11 //        close(file)
12       }
13   

 

posted @ 2016-05-22 17:52  jason_zhangz  阅读(248)  评论(0编辑  收藏  举报