Scala基础学习之函数定义,流程控制,异常处理
2017-12-10 13:57
357 查看
在scala中,参数传递与JAVA中有些许不同,scala的理念里提倡变量名比变量类型更加迫切的需要知道,因此变量名应该出现在变量类型前面,同时通过:来解释该变量的变量类型,同时整个函数的返回类型紧跟在参数之后,通过:来解释,scala中的代码块有返回值,一般是代码块的最后一句作为返回值,当然你也可以直接return一个值,返回类型与函数代码块之间通过一个=连接
在scala中,if else语句也是有返回值的,比如你可以将上述函数代码块中写成如下:
在流程控制中当然有顺序结构,选择结构,循环结构。顺序结构就不赘述,选择结构如上if else 所示,下面谈谈循环结构
<-表示提取符,从生成的1到5中依次提取元素到i,循环变量中的i不必事先声明,这里的1 to 5其实是调用了1.to(5)方法,to方法有很多重载方法,包括可以控制生成的序列的步长等
下面谈谈异常处理,scala的异常处理同JAVA非常类似,先尝试执行try代码块的内容,遇到出错的代码行会跳转到catch代码块匹配对应的Exception,执行相应操作后再执行finally代码块(finally代码块可省略)
def isOdd(number:Int):String={ var res="" if(number%2==0) res="it's a Even number!" else res="it's a Odd number!" res }
在scala中,if else语句也是有返回值的,比如你可以将上述函数代码块中写成如下:
def isOdd(number:Int):String={ var res="" res=if (number%2==0) "it's a Even number!" else "it's a Odd number!" res }
在流程控制中当然有顺序结构,选择结构,循环结构。顺序结构就不赘述,选择结构如上if else 所示,下面谈谈循环结构
def main(args: Array[String]): Unit = { for(i <- 1 to 5) println(i) }
<-表示提取符,从生成的1到5中依次提取元素到i,循环变量中的i不必事先声明,这里的1 to 5其实是调用了1.to(5)方法,to方法有很多重载方法,包括可以控制生成的序列的步长等
def main(args: Array[String]): Unit = { for(i <- 1.to(5)) println(i) }
下面谈谈异常处理,scala的异常处理同JAVA非常类似,先尝试执行try代码块的内容,遇到出错的代码行会跳转到catch代码块匹配对应的Exception,执行相应操作后再执行finally代码块(finally代码块可省略)
def main(args: Array[String]): Unit = { var n=9 try { var half=if (n%2==0) n/2 else throw new RuntimeException("not an even number") println(half) } catch { case t: Throwable => println("error message is :"+t.getMessage)// TODO: handle error } finally{ println("this is finally block") } } //error message is :not an even number //this is finally block
相关文章推荐
- Scala学习第二天 Scala函数定义、流程控制、异常处理
- 【Scala学习笔记】2. 函数定义、流程控制、异常处理
- Scala学习第二天 Scala函数定义、流程控制、异常处理
- scala的函数定义、流程控制和异常处理
- Scala-01:函数定义、流程控制、异常处理
- Scala-02函数定义、流程控制、异常处理
- Scala的函数定义、流程控制和异常处理
- [0.3] scala函数定义、流程控制与异常处理
- Scala学习笔记05【Scala函数定义、流程控制、异常入门】
- scala 基本语句-流程控制与函数定义、异常处理
- Scala学习回顾(二)---- scala函数定义、流程控制及异常处理
- 关于scala 函数定义 流程控制 异常处理
- scala函数定义、流程控制与异常处理
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- Scala进阶源码实战之一——数组、函数基础、流程控制、文件、异常
- 002-Scala函数定义、流程控制、异常处理入门实战
- [原创]Scala学习:流程控制,异常处理
- scala------基础:流程控制和函数
- Scala学习笔记一之基础语法,条件控制,循环控制,函数,数组,集合