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

表达式

//表达式
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)
    }*/

scala 基本语句-流程控制与函数定义、异常处理_第1张图片
for(i<-1 to 10)与for(i<-1.to(10))的效果是一样的
to是1的一个方法
scala 基本语句-流程控制与函数定义、异常处理_第2张图片

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

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

这里写图片描述

函数(方法)定义与调用

package kmust.hjr.learningScala02

import 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.learningScala02

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

你可能感兴趣的:(Scala基本语句)