2021-10-16JAVA函数

本文深入探讨了函数的概念,包括其在Java中的语法结构、四种函数形式及设计原则。介绍了函数运行基于栈的内存原理,以及函数重载和递归的双重理解。通过理解函数的内存运行,可以更好地掌握递归算法在解决问题中的应用。
摘要由CSDN通过智能技术生成

函数

函数概述

函数主要解决那些具有 重复性 的且有 独立功能 的代码块,将这些代码块进行抽取,生成函数,方便后 期调用,并且解决了代码冗余的问题。

Java当中函数的语法格式:
在这里插入图片描述

权限修饰符:表示的是该函数的调用权限 public protected 默认不写 private
函数类型修饰符:static 静态函数;native 本地函数;abstract 抽象函数;synchronized 同步函数
返回值类型:就是函数计算的结果,如果需要向调用者返回,则标记为计算结果的数据类型(向下兼容);如果不需要返回,则写成void
函数名:对于该功能的描述命名
参数列表:就是外界传给函数的一些数据,这些数据一般称之为是形式参数,外界传递的数据称之为是实际参数
函数体:就是那段具有独立功能的代码块
return:仅仅表示函数结束!如果有返回值,则在return之后写上;如果没有返回值,return之后不写返回值,那么return隐藏不写!
返回值:就是函数计算的结果

函数分为四种形式:

有参有返回 有参无返回 无参有返回 无参无返回

如何去设计一个函数

考虑函数的功能
考虑函数是否接受数据
考虑是否有计算结果
考虑结果是否返回

函数内存运行原理

函数的运行是基于栈的,每一个函数都是栈中的元素,我们把这个元素称之为栈帧(栈帧主要包含的是
函数所有的字节码信息,如果在极端情况下一个栈帧过于太大,则导致栈结构存不下,导致栈内存溢出
异常 StackOverFlowError;如果栈帧进入的过多,也会导致栈内存存不下,栈内存溢出),一般第一个
进栈的栈帧是主函数,一个栈帧一旦进入到栈里面,则开始逐行执行,如果在执行的过程中,又调用了
其他函数,此时当前栈帧暂停运行,新函数的栈帧进栈,开始逐行运行,直到运行完毕遇到return则弹
栈,当前栈顶的栈帧继续执行。

函数的重载

什么是函数的重载,重载的意思就是,一个类中,出现多个重名函数的情况。
重载有什么用,保留了函数的声明,只不过是对应的参数不一样而已。

函数的递归

第一种层面的理解:从函数内存运行角度而言,递归其实就是指函数在调用函数自身
第二种层面的理解:从算法角度而言,递归就是指自动推理和推导的过程(数学归纳法)
在算法领域当中,最常用的两大算法思想,迭代(for while循环),递归

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值