scala快速入门系列【方法】

        本篇作为scala快速入门系列的第九篇博客,为大家带来关于方法的相关内容。
        


        

方法定义

        一个类可以有自己的方法,scala中的方法和Java方法类似。但scala与Java定义方法的语法是不一样的。


定义方法

语法

在这里插入图片描述
[!NOTE]

  • 参数列表的参数类型不能省略
  • 返回值类型可以省略,由scala编译器自动推断
  • 返回值可以不写return,默认就是{}块表达式的值

示例

  1. 定义一个方法,实现两个整形数值相加,返回相加后的结果
  2. 调用该方法

参考代码
在这里插入图片描述


返回值类型推断

        scala定义方法可以省略返回值,由scala自动推断返回值类型。这样方法定义后更加简洁。

[!DANGER]

  • 定义递归方法,不能省略返回值类型

示例

定义递归方法(求阶乘)
10 * 9 * 8 * 7 * 6 * … * 1

参考代码1
在这里插入图片描述
参考代码2
在这里插入图片描述


方法参数

        scala中的方法参数,使用比较灵活。它支持以下几种类型的参数:

  • 默认参数
  • 带名参数
  • 可变参数

默认参数

        在定义方法时可以给参数定义一个默认值。

示例

  1. 定义一个计算两个值相加的方法,这两个值默认为0
  2. 调用该方法,不传任何参数

参考代码
在这里插入图片描述


带名参数

        在调用方法的时候,可以指定参数的名称来进行调用。

示例

  1. 定义一个计算两个值相加的方法,这两个值默认为0
  2. 调用该方法,只设置第一个参数的值

参考代码
在这里插入图片描述


可变参数

        如果方法的参数是不固定的,可以定义一个方法的参数是可变参数。

语法
在这里插入图片描述
[!NOTE]

  • 在参数类型后面加一个 * 号,表示参数可以是0个或者多个

示例

  1. 定义一个计算若干个值相加的方法
  2. 调用方法,传入以下数据:1,2,3,4,5

参考代码
在这里插入图片描述


方法调用方式

        在scala中,有以下几种方法调用方式,

  • 后缀调用法
  • 中缀调用法
  • 花括号调用法
  • 无括号调用法

        在后续编写spark,flink程序时,我们会使用到这些方法。


后缀调用法

        这种方法与Java没有区别。

语法
在这里插入图片描述

示例

        使用后缀法Math.abs求绝对值

参考代码
在这里插入图片描述


中缀调用法

语法

在这里插入图片描述
例如: 1 to 10

[!TIP]

  • 如果有多个参数,使用括号括起来

示例

        使用中缀法 Math.abs 求绝对值

在这里插入图片描述
操作符即方法

来看一个表达式
在这里插入图片描述
大家觉得上面的表达式像不像方法调用?

在scala中,+ - * / %等这些操作符和Java一样,但在scala中,

  • 所有的操作符都是方法
  • 操作符是一个方法名字是符号的方法

花括号调用法

语法
在这里插入图片描述
[!DANGER]

  • 方法只有一个参数,才能使用花括号调用法

示例

        使用花括号调用法Math.abs求绝对值

参考代码

在这里插入图片描述

无括号调用法

        如果方法没有参数,可以省略方法名后面的括号。

示例

  • 定义一个无参数的方法,打印"hello"
  • 使用无括号调用法调用该方法

参考代码

在这里插入图片描述
        
本篇博客到这里就结束了,感兴趣的小伙伴们可以持续关注哟~下一篇将为大家带来函数的相关内容,敬请期待!
在这里插入图片描述

发布了150 篇原创文章 · 获赞 1352 · 访问量 36万+

猜你喜欢

转载自blog.csdn.net/weixin_44318830/article/details/103964914