Scala基础02-Scala方法和函数及其区别

Scala运算符及函数和方法的调用

Scala中的+ - * / %等运算操作符的作用与Java一样,位操作符 & | ^ >> <<也一样。
由于和java使用基本相同,这里不再赘述。可参考:
https://www.yiibai.com/scala/scala_operators.html

但有一点特别的:这些操作符在scala中实际上是方法。例如:
a + b
是如下方法调用的简写:
a.+(b)
a 方法 b可以写成 a.方法(b)。
在这里插入图片描述

方法的调用(2.后面按下table,会有以下相关提示)
在这里插入图片描述

定义方法和函数

1 定义方法
def m1(x:Int,y:Int):Int=x+y

定义方法用def关键字,m1为方法名称,x:Int 和 y:Int为参数列表,后面的Int为返回值类型,x+y为方法体。
方法的返回值类型可以不写,编译器可以自动推断出来,但是对于递归函数,必须指定返回类型。

示例:通过递归方法求一个数的阶乘。

def m3(x:Int):Int={
if(x==1) 1
else x*m3(x-1)
}

在这里插入图片描述

2 定义函数

定义函数的基本语法:
val f1=(x:Int,y:Int)=>x*y
//调用:
f1(3,4)
在这里插入图片描述

3 方法和函数的区别

函数是一个对象,有N个参数,就继承FunctionN这个类。共到Function22,函数最多可以带22个参数。
在这里插入图片描述

函数具备该对象的一些方法:
apply curried toString tupled
在这里插入图片描述

而方法就是指方法就是对象中的方法。不具备函数的以上特性。

4 方法转换成函数

如果想把方法转换成一个函数,可以用方法名,后面跟上下划线的方式。

val 函数=方法名_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值