美文网首页
第九天学习Java(递归函数,数组)

第九天学习Java(递归函数,数组)

作者: Hoffnung_8164 | 来源:发表于2020-03-26 19:35 被阅读0次

    如果有选择,那就选择最好的;如果没有选择,那就努力做到最好。

    1、方法函数

        1、概念:一段带有特定功能的代码,可以被多次调用执行(可重复使用)

        2、作用:A、避免重复的代码,增强程序的可读性。B、增强程序的可维护性

        3、使用:

            step1:先声明(定义),方法中的代码不执行

            step2:调用这个方法,才会执行这个方法中的代码,调用几次执行基础

        4、位置:在类里面,其他方法外

        5、语法:

                声明方法的语法:[修饰符,修饰符2。。。]([]代表修饰符可有可无),返回值类型/void(没有返回值) 方法名(形式参数列表){

                    方法体;

               }

            public static void main(String[] args){}

            调用方法的语法

                方法名(实际参数);

                注意点:实参一定要严格匹配形参,按照顺序一一匹配

        6、参数:当方法执行的时候,需要接受外部的数据

            形式参数:方法声明的时候,用于接收外部传入的数据

            实际参数:调用方法的是,向方法中的形式参数进行赋值,所传入的具体的数值,调用方法的时候,实参的数值要传递给形参,叫做传参。(参数的传递)

            结论:方法中哪些数据不确定,就声明为参数,几个数值不确定,就声明几个

        7、返回值,就是方法执行结束后,返回给调用处的结果数据

            一个方法最多只能有一个返回值,可以没有。如果没有,就使用void

            一个方法如果声明了有返回值(非void),那么在方法中必须使用return语句将结果返回

        8、return语句的使用

            A:将结果返回给调用出

            B:同时结束了该方法的执行

        9、return语句的注意点

            A:如果一个方法声明了有返回值,那么方法中必须使用return返回结果。

            B:如果一个方法声明了有返回值,那么return后的数据类型,必须和声明的一致,如果声明上没有返回值,就是void,那么方法中可以使用返回值,但是不要返回数值(表示结束这个方法)

            C:一个方法如果声明了哟返回值,加入方法中有分支语句,循环语句,要保证无论执行到哪个分支语句,都要有return返回值可以被执行到。

        10、递归函数

            递归 英文单词 Recursion

            函数/方法的调用?

                一个方法中可以调用另一个方法。

                一个方法也可以自己调用自己(递归函数)。

            递归算法:

                方法自己调用自己

                要有出口,逐渐向出口靠拢

                可能出现的问题:栈空间溢出异常

        递归阶乘

        

        11、总结

            A:方法的三要素:返回值,方法名,参数列表。

            B:返回值?一个方法执行后的返回给调用出的结果。类型

            C:参数?以个方法中哪个数据不确定,就设计为参数。

            D:方法如何实现,根据需求分析,一个方法往往只完成一件事。

            E:方法也是一种封装。

        方法/函数的总结

            注意:一个类中可以定义多个函数,函数之间属于并列关系,不可以嵌套

            经验:一个函数只做一件事

            好处:

                减少代码臃肿

                提高复用性

                提高可读性

                提高可维护性

                方便分工合作

    数组

            为什么使用数组

                如果说程序中,需要存著大量的相同类型的一组数据,如果直接使用变量来进行存贮,每个变量只能存储一个值,就需要大量的变量

                1、代码过于臃肿

                2、程序的可读性差

                3、数组维护较差

            数组的概念

                就是一组相同数据类型的数据,内存上是开辟的连续的内存空间

            数组的特点

                1、定长,容量固定,数组创建后,那么长度就不能更改,(容量长度都是指存贮的数量)

                2、存储的数据类型必须是一致的

                3、在内存中空间两虚挨个

                4、数组是引用类型的数据

                Java中:两大数据类型

                    基本类型:4类8种

                    引用类型:数组,对象,

            数组的使用

                step1:先创建数组

                step2:使用数组,存贮数据,访问数据。

            

            数组的语法

                创建数组的语法

                    数据类型[] 数组名 = new 数据类型[容量/长度/个数];

                    数据类型 数组名[] = new 数据类型[容量/长度/个数];

            使用的语法:

                数组名[index]:操作数组

                index:因为一个数组存储了多个数据(也叫元素)。每个元素都有一个下标,也叫索引,index理解起来就是给每个数据拍个编号,固定从0开始,到index-1结束

                内存分析(扩展)

                内存:存储数据

                    A:栈,存放的是基本数据类型的变量,以及引用类型变量的引用。

                            特点:函数中的变量所占用的空间,执行之后就会销毁

                    B:堆,存放的就是new出来的东西。

                            特点:堆执行之后,堆里存储的内容(对象等),会被标记为垃圾,但是不会立即被销毁,而是等待系统的垃圾回收机制来回收(GC)

                使用循环遍历数组

                    1、遍历:一次访问数组中的每个元素,可以赋值,可以取值

                    2、因为操作数组,就是数组名字配合下标,都是从0-(下标-1),所以可以用循环来存储数组;

                数组的长度

                    获取数组的长度:length

                    数组名.length来获取数组的长度

    自我总结:

    今天主要内容的话还是数组,这个也是一个比较重要的环节吧,以前学习C语言的时候接触过,但是没什么印象了,今天在写作业的时候也是遇到了一个问题,还是因为不熟悉语法导致的吧,今天的最后一题就是相当于返回一个数组,在返回数组的时候我总是把[]加上去,然后就一直报错需要加符号,我就知道应该是语法上面出现了问题,然后就去百度了一下语法,发现直接返回数组名字就可以了,并不需要加符号(之所以加符号是因为老师说符号是数组的标志,就钻了个牛角尖),后面会讲到二维数组,到时候也是一个重点,要好好跟着老师学习

    相关文章

      网友评论

          本文标题:第九天学习Java(递归函数,数组)

          本文链接:https://www.haomeiwen.com/subject/zhchuhtx.html