码迷,mamicode.com
首页 > 其他好文 > 详细

Scala-02函数定义、流程控制、异常处理

时间:2015-08-06 02:15:49      阅读:238      评论:0      收藏:0      [点我收藏+]

标签:scala

scala-02函数定义、流程控制、异常处理

一、Scala函数定义:

scala函数定义时候默认会导入包)

1val:类似javafinal类型的变量(常量)

1,基本格式:val 变量名:变量类型 

2,其中有时变量类型可以省略,可以自动识别

3,变量不能赋值,修改

var :等同于java中的非final型变量

2)有参数的函数定义

def 函数名(参数列表,...):返回结果类型={}

Object MyScala{

def Mysca(x:int ,y:int):int={

Var a=x

Var b=y

While(a!=0){

Var temp=a

b=b%a

b=temp

}

b

}

Println(Mysca(120,230))

}

① 有时函数必须制定返回结果类型,如函数时递归,就必须明确制定返回结果类型;

② 如果函数仅 一个语句,连花括号都可以不写。如是max函数就成了这样,作用功能仍然没有变化;

③ Scala语言在进行函数调用时可不加();

④ Scala语言在编写的时候亦可以不用加“;”

⑤ Scala中,i++或者++i都不能其作用,只能使用i=i+1

⑥ foreach与函数字面量

函数字面量格式:参数列表 => 函数体

(x: Int, y:Int) => x + y

⑦ for循环中是val类型,因此在for表达式中不能重新对其赋值, <-可以理解为其中的意思for(arg <- args)

注:Scala 三元符表达示例:

var file=if!args.isEmptyargs(0) else scala.xml

二、异常处理

Scala中异常机制与JavaC++中一样。但Scala中并没有受检异常,也就是不需要说明函数方法可能会抛出什么异常。

使用throw来抛出一个异常。throw表达式的类型是Nothing

如果不需要使用捕获的异常对象,使用_来代替变量名(_Scala中的通配符)同时也有try/finally语句,通常用来清理。可以组合成try/catch/finally语句

抛出一个异常看起来类似于Java。创建一个异常对象,然后使用throw关键字把它抛出

throw new IllegalArgumentException

捕捉异常:ry/catch在一个单独的块捕捉任何异常,然后使用case块进行模式匹配。


本文出自 “大数据技术-Scala” 博客,请务必保留此出处http://10596633.blog.51cto.com/10586633/1682039

Scala-02函数定义、流程控制、异常处理

标签:scala

原文地址:http://10596633.blog.51cto.com/10586633/1682039

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!