00:00
我们来看一下开函数的这个定义的基本语法,就相当于说现在我们已经到哪个阶段了呢?刚才我们已经提出需求了,现在我们来说是看到函数的基本语法和它的基本运行原理,我们看它的基本语法,我这里总结了有这么八句话,大家先搂一眼啊,第一句话。首先DEF是关键字,然后是函数名,后面呢跟的是参数行参列表啊,第一个呢是呃行差列表,大家看中括号是可选项,就这个行参呢可以有多个,这边是返回值,注意听函数返回值呢是有这个几个部分的冒号,返回值类型和等号,大家看我这里面有个中括号括起来的就是这一节。用中括号括起来,那就意味着这地方可以写也可以不写啊,里面是我们的语句,可以有return。好,我们简单看一下啊,函数的生命关键是D,这个DEF代表呃,定义的意思。
01:04
然后这一部分,这一部分就是同学们看到这这块是我们的行参列表,表示输入可以有也可以没有,就你如果没有的话,可以不写括号,什么都不写。啊,如果有多个呢?用逗号隔开第三个函数的语句,这块是代表111段功能。函数可以有返回值,也可以没有,就是return可以有也可以没有,那么这个地方是关键,同学们注意听,就这个地方是关键,就这一句话。这一大块是一个关键点。是什么关键点呢?它一共有三种方式来编写,第一种方式直接写全货。就是这个代表什么呢?代表我有一个具体的返回值类型是什么,第二种形式只写一个等号,就说什么意思呢,就说。第二种形式,这些一个等号,就相当于说把这个都拿掉了,相当于这个地方没有了。
02:01
整个这个地方没有变成什么呢,变成一个等号。这种写法是第二种写法,那第二种写法会意味着什么呢?第二种写法表示返回值的类型不确定,使用类型推导完成。还有第三种写法,第三种写法就是全部去掉。整个都没有。这个也可以,这个是表示什么意思呢?就连等号都没有表示什么样的,表示没有返回值。啊,表示没有返回值,所以说这三种形式请同学们注意一下,那当然有同学,有些同学还问我说,老师,这个冒号表示什么意思,我说了,啊,冒号和返回值是一个整体。它就表示返回值类型,冒号和返回值要么一起出现,要么都不出现。啊,呃,这个地方大家注意一下,然后呢,如果没有return,默认已执行到最后一行的结果为返回值,好,这是我总结的八句话,那么现在呢,我们快速的来对刚才提出的这个问题进行一个解决,怎么呢?我们把这个进行一个封装,写一个函数,其实这个特简单啊,对于我们来说几乎是,呃,几乎是这个水到渠成的事儿,我们现在把这个东西给大家。
03:14
说一下好打开这里,那么现在呢,我们讲的是第五章。好,同学们,现在我们写一下com.at硅谷点CHAPTER05对吧,零五好,然后呢,我在这里新建一个包。我们新建一个包,这个包呢,我们讲的是function的案例啊,Function案例。走。好,然后我在这里呢,先建一个第一个我们的案例叫function DEMO。零一。零一好快速的走一下,走一段代码,好根据刚才我们讲的函数的这个定义呢,我们这先定义一个啊定一个,呃,函数其实这个地方当没有没有去怎么去使用的话呢,也可以认为它就是一个方法。
04:05
我们刚才讲过了,就是当你没有用的时候,函数和方法其实是可以等同的,只是看你怎么去使用它啊,使用的形式决定它是怎么称呼它,好我写一个啊叫DF,那么我就写,因为他这要求的是一个结果吗。啊,Get get这个result我快速的写一下,呃,首先呢,这次函数名我们传入两个参数啊,求两个参数N。二。快速写一下,然后呢,还需要有一个呃,就是操作符,我们写成差。好,这个返回的类型是什么呢?好返回的类型大家看这里,我们返回类型呢,肯定是有个结果的,所以说呢,我采用哪种形式呢?目前来说我可能会采用这种形式,对吧?因为我最直接的思考就是将来有返回值,那么返回一个什么呢?好加减,那肯定你是int int加和减的过还是int。
05:05
好,这就写完了。写完了以后呢,我们就来判断写下我们这边代码,如果好开始写oper等于好加,如果它等于加呢,我们就返回这个N1加N2,注意这个地方可以写return也可以不写,就是这个return可以写也可以不写。啊,可以写,也可以不写,那么刚才我讲了这个逻辑了,就是什么呢?就是如果你不写的话,默认就是这个结果。If。Op等于,如果它是一个减,那么这个时候呢?我们返回两个数相减的结果,好,同学们看,当我写完以后,我的代码就出错了。原因。是因为什么呀?因为你这个if进来有返回的结果,这个地方啊,这个地方就是返回,返回,那么这个地方也有返回,但是假设不是加,也不是减,你就没有返回值,所以他报的是这个问题,那么我们应该再加一个逻辑,如果说你这里。
06:15
不是传入的加和减,我们怎么办呢?就代表它这个传输有问题,我们返回一个什么呢?我们返回一个空。我们返回一个note,好,同学们,那现在我选择一个空,马上代码又会报错啊,老说报错了没有。好像没有报错是吧,没有报错,但是我们执行一下,我们来执行一下,看看地方能不能正确的运行,来看一下。好,我们我们从这看起来好像是对的啊,就是加是返回两个数字加减,如果运算符出错,我们返回一个空,我们看对不对,好现在呢,我在这里,呃,写一个N1等于十,N2等于20,现在呢,我们来调用一下。A,我们来调用一下,那就直接来写这个get re result,传入一个一,传入一个二,再传入一个减法,好,我们把这个结果呢,输出RS等于加。好同学们,我们。
07:15
执行代码,当我们一执行的时候呢,可以看到下面立马报错,报错是哪一行呢?各位同学请看第20行报错了,他说type Miss match匹配有问题。为什么呢?诶同学们他说的很对,你看这他说你这个编译啊,这个空不能够跟这个int匹配,那很矛盾怎么办呢。诶,同学们,我们刚才讲过这种写法。是其中的一种而已而已,那么这种写法呢,它就要求你返回的类型都得是int类型,但是我们也讲了,还有一种类型,返回值的类型是只写一个等号,直接一个等号表示返回值类型什么呀,不确定,我们用类型推断完成,这样不就挺好吗?非常到位啊,就这样,那么直接把这个地方拿掉即可,注意啊,整体拿掉这个代码就OK了。
08:13
那你看再来运行代码就一路一马平川。一马平川,一看,OK。OK,好,而且呢,同学们注意,当我们这边故意输入一个错误的运算符过后呢,他也能够正常的返回一个空值执行一下,同学们请看效果。诶,你看代码没问题。啊,所以说你看这个地方还是非常有意思的啊,还是非常一说说我可以根据这个类型推导来决定你是什么就OK了,好,这是我们对这个呃函数的一个入门级的案例,也就是说相当于我们到哪了呢,把这一块就学完了。就叫这那下面自然就是我们的细节和使用陷阱,对不对,好学东西,你看这个就就就这样很快的很快的好,同学们,我把这个呢,给大家简单的板书一下啊,那么我们刚才学了一下函数的必要性。
09:08
函数的必要性简单的总结这么几句话,函数的必要性。好,给大家整理一下函数比较性。那么这个地方呢,我们就提出了一个观点,对吧,诶说为什么要有这个函数呢。那么有函数的目的就是这样子的,就是因为你没有函数代码冗余,不利于代码的维护,对吧?所以说这样子呢,我们就提出了能够把这些功能放在一起来进行管理,其实函数最早的出现也是这个原因。好紧接着我们继续呃来做了一个它的基本函数的定义,它的基本语法和呃它的一个快速入案例,就基本语法快速入门咱们就说了。来函数的定义呢,我们写到这里来,各位同学好,来走一个啊,就是函数的定义。函数的定义快速走一下。
10:02
OK,来一个标题。这个。好整理一下,那刚才我们讲的是基本的语法。哎,基本的语法大概是这样子的,然后这个基本语法里面呢,我们对这个基本语法做了这么八点说明啊,第一个。第二个,然后它这个函数里面的语句是代表什么函数的返回值呢?可以有三种形式对吧?诶三种形式分别对应什么,大家看清楚了,然后第是第五点就是这个语句可以没有,如果没有的话呢,它是呃,以最后一行就就是你没有written语句,以最后这一行的结果作为返回值。那刚才在我们代码里面哪里体现出这个特点了呢?就在这,你看我没有写瑞。我没有写,OK,好,这是这么一个特点,好,这个快速入门案例呢,我们也给大家拿到这里来。对吧,诶同学们看学习东西呢,就得有个思路啊同学们。
11:01
呃,以后大家能够对这个对这个感受会越来越深,因为你们将来这个工作中啊,压力应该还是比较大的,经常学新东西,就可能隔三差五那个老板就跟你说,诶学个新东西对吧,你肯定要去接受啊,你说我不学,那你肯定这个这个公司你就待不下去了。好,这个呢,是我们的一个呃,函数的一个基本介绍,截取一段视频。
我来说两句