前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >scala快速入门系列【方法】

scala快速入门系列【方法】

作者头像
大数据梦想家
发布2021-01-26 11:15:27
3730
发布2021-01-26 11:15:27
举报
文章被收录于专栏:大数据成长之路

本篇作为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"
  • 使用无括号调用法调用该方法

参考代码

在这里插入图片描述
在这里插入图片描述

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法定义
    • 定义方法
      • 返回值类型推断
      • 方法参数
        • 默认参数
          • 带名参数
            • 可变参数
            • 方法调用方式
              • 后缀调用法
                • 中缀调用法
                  • 花括号调用法
                    • 无括号调用法
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档