函数基本介绍和快速入门|学习笔记

简介: 快速学习函数基本介绍和快速入门。

开发者学堂课程【Scala 核心编程-基础函数基本介绍和快速入门】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/609/detail/8929


函数基本介绍和快速入门

 

一、函数基本语法

二、快速入门案例

 

一、函数基本语法

这节课进行讲解 Scala 函数的基本定义语法,在上面已经提出了需求,对语言函数的基本语法下面总结了八句话:

基本语法:

def 函数名([参数名:参数类型], [:返回值类型] =]{

语句....

return 返回值

}

de f是关键字,然后是函数名后面跟的参数名和参数类型,形参可以是多个,注意函数返回值是有冒号和返回值类型的,而用中括号括起来的可以写,也可以不写,然后函数中式语句 return 返回值。

1)函数声明关键字为 def (definition)

2) [参数名:参数类型...表示函数的输入(就是参数列表),可以没有。如果有,多个参数使用逗号间隔

3)函数中的语句:表示为了实现某功能代码块

4)函数可以有返回值,也可以没有

5)返回值形式1: 返回值类型=,就是有一个返回值具体类型是什么。

6)返回值形式2: 就是把[:返回值类型]拿掉只写一个返回值,表示返回值类型不确定,使用类型推导完成

7)返回值形式3:就是把[:返回值类型] =]全部拿掉表示没有返回值,return 不生效,冒号与返回值是一个整体,与返回值类型一起出现。

8)如果没有 return,默认以执行到最后一行的结果作为返回值

下面开始快速的对上面提出的问题进行解决。

 

二、快速入门案例

下面进行完成这样一个需求:

输入两个数,再输入一个运算符(+,-),得到结果:

代码实现

新建包 com.atguigu.temp,fun,再新建一个案例 FunDemo01文件,如下首先定义一个函数,当这里没有去使用的话也是一个方法,就是当没有用的时候函数和方法是可以等同的,根据使用的形式去决定怎么称呼。

因为这里要求的是结果,所以使用函数 getRes,然后传入两个参数 n1,n2,有一个操作符写为 char,而返回值类型肯定是有一个结果的,所以目前采用返回值形式1,返回值类型为 int 类型加上 int 类型,还是为 int。函数写完后进行判断,如果 oper 等于+,则进行 n1+n2的计算,这里的 return 可以写,也可以不写,不写的话,默认就是这个结果。如果 oper 等于-的话,就进行 n1-n2,此时会出现报错,因为如果 oper 不等于加号或者减号,则没有返回值。所以要再加一个逻辑,如果 oper 传入的不是加号或者减号就代表传入有问题,就返回 null,然后定义变量 n1=10,n2=20,然后输出进行调用的结果。此时执行的话会出现报错,原因返回值为空不能与 int 数据类型进行匹配,而上面讲过这种写法,要求返回值类型必须都是 int,而这种写法只是返回值形式的其中一种,所以这里可以使用返回值类型2,只写一个等号。所以为了不报错可以直接把:int 拿掉,只写一个等号。下面运行代码进行查看:

package com. atguigu. chaptero5. fun

object FunDemo01 {

def main(args: Array[string]): Unit ={

valn1=10

valn2=20

println("res=”+ getRes(1, 2, '-'))

}

//定义函数/方法

def getRes(n1: Int, n2: Int, oper: char) = {

if (oper == '+') {

n1 + n2 //返回

} else if (oper == '-') {

n1-n2

} else {

//返回null

null

}

运行结果:

D: \program\jdk8\bin \java

res=- 1

甚至输入一个错误的运算符也能正常返回一个 null 值,如:

valn1=10

valn2=20

println("res=”+ getRes(1, 2, ')'))

运行结果:

D: \program\jdk8\bin \java

res=null

所以这里只需要进行类型推导就可以判断返回值。到此就把基本语法学习完了,后面就是讲解该技术的使用细节和陷阱讲解。以上进行讲解了函数的必要性和进行讲解函数定义基本的语法和快速入门,因为没有函数代码冗余,不利于代码的维护,所以提出了把功能放在一起进行管理,函数最早出现的原因也是如此,

相关文章
|
30天前
|
人工智能 自然语言处理 算法
DashText进阶使用方法
基于关键词感知的向量检索,稠密向量和稀疏向量组合搜索DashText,进阶使用详细教程来啦~
|
Web App开发 人工智能 数据可视化
RPA 快速入门|学习笔记
快速学习 RPA 快速入门
644 0
RPA 快速入门|学习笔记
|
3月前
|
存储 算法 程序员
C++基础快速入门
C++基础快速入门
85 0
C++基础快速入门
|
前端开发
快速入门less原理以及常用基本知识
快速入门less原理以及常用基本知识(动态计算rem)
135 0
快速入门less原理以及常用基本知识
|
监控 网络协议 数据安全/隐私保护
Wireshake简介与使用方法
1.wireshake简介 Wireshark是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
230 1
Wireshake简介与使用方法
|
Web App开发 人工智能 数据可视化
RPA 快速入门| 学习笔记
快速学习 RPA 快速入门。
785 0
RPA 快速入门| 学习笔记
|
Scala 开发者
对象匹配基本介绍和快速入门 | 学习笔记
快速学习对象匹配基本介绍和快速入门
93 0
|
网络协议 测试技术 Go
方法的快速入门|学习笔记
快速学习方法的快速入门
74 0
|
网络协议 程序员 测试技术
封装快速入门案例|学习笔记
快速学习封装快速入门案例
85 0
|
Go 开发者
变量介绍和快速入门|学习笔记
快速学习变量介绍和快速入门
63 0

热门文章

最新文章