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

这里写图片描述
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.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
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易悠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值