java函数

函数(function):

函数是什么?
函数就是具有名称的特定功能代码的集合。

为什么使用函数:
提高代码的复用度

Java中如何定义函数
访问修饰符 [static] 返回值的类型 函数名称([形式参数列表]) {
// 函数体 由一行或者多行代码组成
// [return 返回值](可以没有返回值 )
}

注意:在Java中,函数是定义在类中,是类的成员

函数调用:
当函数定义完成后,不会自己执行,需要通过调用来执行
函数名称([实际参数列表])
在这里插入图片描述

函数的分类:

  1. 通过函数是否存在参数

    |-- 无参函数
    |-- 有参函数

    //调用的时候需要传递参数
    在这里插入图片描述

  2. 函数是否需要返回计算结果
    |-- 无返回值(调用者不需要计算结果)
    |-- 有返回值

局部变量:
定义在函数内部的变量,叫做局部变量,局部变量的作用域只在当前函数中有效。

注意:在Java中没有全局变量,main函数中的变量也是局部变量,只是比较特殊,作用域还是main函数本身,但是生命周期是比较长。

函数调用的本质:
函数本质是一个对象,存储在堆中
函数本质存储在堆中,当调用时,会临时的压入栈中(push),等调用完成后,会立刻弹出栈(pop),所以函数调用就是瞬时操作

函数重载

函数重载(overload):
至少两个或者更多函数,函数名称相同,但是参数的个数或者类型不同,
从而在调用的时候,可以通过传参确定要调用的函数
在这里插入图片描述

函数重载,本质是对功能的扩展,不是代码的复用

函数的递归(recursion):

递归:函数自身调用自身(本身是一个死循环)
在这里插入图片描述

如果要使用递归:必须有终止条件,没有终止条件的递归就是一个死循环!

栈溢出错误:(递归是一个压栈,调用了其他的代码)
在这里插入图片描述

在这里插入图片描述

课堂案例练习:
求第n项的斐波那契数列的值
{0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89}
f(n) = f(n-1) + f(n-2)
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值