scala 基本语句-流程控制与函数定义、异常处理

来源:互联网 发布:js倒计时代码 编辑:程序博客网 时间:2024/06/03 17:39

表达式

//表达式var file="scala.txt"if(!args.isEmpty)file=args(0)//val file=if(!args.isEmpty) args(0) else "Spark.xml"  println(file)//println(if(!args.isEmpty) args(0) else "hello scala")


以上三种方式均可输出:scala.txt

for循环

  //for循环    for(i<-1 to 10){      println("Number is :"+i)    }   /* for(i<-1.to(10)){      println("Number is :"+i)    }*/

这里写图片描述
for(i<-1 to 10)与for(i<-1.to(10))的效果是一样的
to是1的一个方法
这里写图片描述

查找当前目录下的所有文件

 //找当前目录下所有文件    val files=(new File(".")).listFiles()    for(file<- files){      println(file)    }

这里写图片描述

函数(方法)定义与调用

package kmust.hjr.learningScala02import java.io.File/** * Created by Administrator on 2015/7/12. */object scalaBasics {  def main(args:Array[String]): Unit ={    println("易者悠也")    doWhile()  }} /*   * doWhile()方法定义   */  def doWhile(){    var line=""    do{      line=readLine()      println("Read:"+line)    }while(line!="")  }

这里写图片描述
注:方法的定义在main()函数之前之后均可

   /*   *looper()方法定义   */  def looper(x:Long,y:Long):Long={    var a=x    var b=y    while(a!=0){      val temp=a      a=b%a      b=temp    }    b  }
  def main(args:Array[String]): Unit ={    println("易者悠也")    //doWhile()    println(looper(100,298))  }

这里写图片描述

异常处理

    val n=99    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 {    }

这里写图片描述
也是使用的try-catch,不同的是catch里面使用的case来分类别显示异常

scalaBasics 的完整代码

package kmust.hjr.learningScala02import java.io.File/** * Created by Administrator on 2015/7/12. */object scalaBasics {  def main(args:Array[String]): Unit ={    println("易者悠也")    //doWhile()    //println(looper(100,298))    //表达式   // var file="scala.txt"   // if(!args.isEmpty)file=args(0)    //val file=if(!args.isEmpty) args(0) else "Spark.xml"   // println(file)    //println(if(!args.isEmpty) args(0) else "hello scala")   /* //for循环    for(i<-1 to 10){      println("Number is :"+i)    }    for(i<-1.to)){      println("Number is :"+i)    }*/   /* //找当前目录下所有文件    val files=(new File(".")).listFiles()    for(file<- files){      println(file)    }*/  /*  var line=""    do{      line=readLine()      println("Read:"+line)    }while(line!="")*/    val n=99    //val file="Scala.txt"    //openFile(file)    try{      val half = if(n%2==0)n/2 else throw        new RuntimeException("N must be event !")      //Use the file    }catch {      case e : Exception=>println("This exception is :"+e.getMessage())    }finally {      //close(file)    }  }  /*   * doWhile()方法定义   */  def doWhile(){    var line=""    do{      line=readLine()      println("Read:"+line)    }while(line!="")  }  /*   *looper()方法定义   */  def looper(x:Long,y:Long):Long={    var a=x    var b=y    while(a!=0){      val temp=a      a=b%a      b=temp    }    b  }}
0 0
原创粉丝点击