函数的有关概念

1.函数的定义

为什么要有函数的存在?--主要解决那些重复的具有独立功能的代码段

将这些具有独立功能的代码可以进行再次封装,封装出来的东西就是函数

优点:降低了代码冗余-复用函数即可,降低了主函数的代码量,进行适当地拆分,以便内存优化----其实也就是将函数模块化

函数格式

访问权限 函数类型 返回值类型 函数名(参数列表){

        函数体

       return 返回值;

}

访问权限:指的是函数的使用范围(内部和外部)--常见的关键字--public,protected, 默认, private

函数类型:指的是函数的类型分类,说的就是函数的使用场景--常见的分类--static(静态函数),默认(啥也不写,成员函数),abstract(抽象函数),native(本地函数),synchronized(同步函数)

函数名:就是程序员给这一段代码自定义的名称(标识符)

参数列表:参数列表有若干个参数类型,参数名….组成--主要用于接收外界传递给函数的一些数据

函数体:就是那些具有独立功能的代码段

return:仅表示结束当前函数,如果有返回值,则函数结束前将返回值返回给调用者

返回值:指的就是这一具有独立功能的代码块的计算结果,需要传递给外界配合

返回值类型:指的就是返回值的数据类型

注: return:发现return不在 
        !!!而是因为函数没有返回值 所以return可以忽略不写 不代表不存在
        !!!return本身表示结束当前函数!
        !!!如果函数有返回值 return 返回值; 必须写

注:千万不要在函数的内部创建函数 函数必须在类里面 函数们之间是平级关系
        在C/C++/Python当中 函数的定义必须在函数调用之前
        在Java当中 随便 之前 之后

2.函数的分类:

有返回值有参数

有返回值无参数

无返回值有参数

无返回值无参数

注意:有返回值的函数,参与运算,输出,赋值

无返回值的函数仅仅是,仅仅是调用

3.函数传参

实际参数--实参:就是在调用函数的时候,给函数传递的数据(常量,变量)--发送端的变量

形式参数--形参:定义函数的时候,参数列表当中的数据--接收端的变量

实参将什么传给形参?--目前为止是常量在常量池中的地址

                              --面向对象中是对象在堆中的地址

局部变量:但凡是在函数中创建的变量,局部变量只作用于当前函数

形式参数一定是局部变量

传参过程中的按值传递:调用方法的时候是通过传值的方式将实参传给形参的;当调用带参数的方法时,实参的值传递给形参,这个过程称为按值传递。

4.函数栈--函数的运行是基于栈内存运行的--可以将每一个函数理解为子弹(函数帧)--位于栈顶的函数优先运行的--主函数一定是第一个进栈

栈是一个先进后出的容器结构

return--结束当前函数->当前函数弹栈

函数栈运行动态图解:

 

发布了21 篇原创文章 · 获赞 0 · 访问量 364

猜你喜欢

转载自blog.csdn.net/weixin_44318477/article/details/104257033