java函数

article/2025/8/23 7:14:05

函数(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)
在这里插入图片描述


http://chatgpt.dhexx.cn/article/KkEuRyUh.shtml

相关文章

函数总结:

–函数是什么: 函数是封装了具备特定功能的一段代码块,具备特定功能的代码集合。 –为什么使用函数: 解决重复性代码问题,提高代码的复用度。–函数基本格式: 访问修饰符 [static] 返回值的类型 函数名称([形式参…

java 基础——函数(方法)

函数基本定义、语法 首先我们先要了解什么是函数? 函数的定义:在类中,有特定功能的一段独立代码块 说人话:简单来说就是,在一个类(一个 .java 文件)里面,一段有自己存在的意义&am…

云上见!操作系统开源社区重磅发布!

凌云时刻 极鲜速递 导读:2020 云栖大会「系统软件开源及生态专场」聚焦云时代系统软件技术的发展及开源生态面临的机遇和挑战,并将进行操作系统开源社区的重磅发布。 作者 | 阿里云操作系统来源 | 云巅论剑 2020 云栖大会将在 9 月 17 日 — 9 月 18 日…

万字干货:阿里巴巴是怎么做大数据算法应用测试的? | 凌云时刻

凌云时刻 洞见 导读:随着最近几年数据计算力与机器智能算法的兴起,大数据应用在各个行业也不断涌现。测试技术作为工程技术的一部分,也在同步演进。在 DT 时代,如何测试和保障一个基于大数据的应用的软件质量,成为测试…

在中国在行其道的智慧城市,为何折戟多伦多? | 凌云时刻

凌云时刻 洞见 导读:谷歌的母公司Alphabet于2017年开始,致力于将多伦多的Quayside社区改造成未来主义社区,承诺投入超过5000万美元用于使用技术减少交通拥放和垃圾填埋场。但是由于数据隐私问题,该计划迅速引发了争议&#xff0c…

应云而生,原力觉醒——解读云原生基础设施 | 凌云时刻

凌云时刻 极鲜速递 导读:云原生是云计算领域的热点之一。就像 “一千个人眼里有一千个哈姆雷特”,大家对"云原生"的定义也见仁见智。本文将介绍云原生应用架构和生命周期管理的进化方向。 作者 | 易立 来源 | 凌云时刻(微信号&…

从架构到代码:软件开发的七个新趋势 | 凌云时刻

凌云时刻 洞见 导读:本文根据阿里云原生团队资深技术专家陈立兵 (花名:雷卷)的直播整理而成,从领域驱动设计(DDD)、Reactive、Service Mesh和代码智能等几个方面展开,聊一聊他眼里的软件开发的发展趋势。 …

桌面版IDE将迎终结,Github发布代码空间Codespaces | 凌云时刻

凌云时刻 洞见 导读:2020年了,你拿啥写码呢? 作者 | 马超 来源 | 凌云时刻(微信号:linuxpk) Satellite 2020 5月7日,受疫情的影响,全球最大的开源社区GitHub也采用了线上的方式举办…

开源界也要封闭,OpenSource能否继续无国界 | 凌云时刻

凌云时刻 洞见 导读:开源已经站在了必须做转型的十字路口,问题是后面应该怎么走? 作者 | 马超 来源 | 凌云时刻(微信号:linuxpk) 写在前面 日前知名的云服务提供商HashiCorp在官网宣布:不允许中…

谁来帮帮只想救人的医生呢? | 凌云时刻

撰文| 哪嗒 编辑| 猛哥 图源| 网络及受访者 1 死人实在太多了。一个月内,贝加莫报纸刊登讣告的版面从 1 页半增加到 10 页。 贝加莫是意大利北部小城,距离米兰不到 50 公里,12 万人,却有8000 多人感染,其中四分之三的患…

三年磨一剑,钉的真好听 | 凌云时刻

“被选中,我也没办法”?事情没这么简单 作者|小沐 编辑|火柴Q 疫情期间,停课不停学,全国近3亿师生进行了一场在线教学大迁移。 相比2003年SARS爆发时,学生只能在家自学或看电视转播学习,如今“空中课堂”已…

​云原生:重新定义云时代的技术标准 | 凌云时刻

凌云时刻 洞见 导读:云计算、大数据、人工智能等新技术正迅速的改变着我们所处的时代,其巨大的影响力已经从量变到质变,数字化转型成为企业发展的必然选择。 作者 | 叔同 来源 | 凌云时刻(微信号:linuxpk)…

2020 有哪些不容错过的前端技术趋势? | 凌云时刻

凌云时刻 洞见 导读:2019 年的大前端热闹非凡,Serverless,Flutter,Vue3.0,桌面应用开发,小程序,WebAssembly 的火爆发展还是超乎我们预期,2020 的大前端又有哪些不容错过的技术趋势…

eBPF技术应用云原生网络实践:kubernetes网络 | 凌云时刻

凌云时刻 洞见 导读:eBPF起源于 Linux 网络子系统,由于其灵活性和高性能等特点,被迅速应用在不同领域。事实上网络领域中,eBPF由于其高性能支持更高的吞吐率、平均每GB带宽消耗更少的CPU等特性,已经逐渐成为网络领域中…

OpenAnolis社区致Linux开发者的一封信

凌云时刻 技术 导读:OpenAnolis社区官宣。 来源|OpenAnolis 亲爱的Linux开发者朋友们: 大家新年好! 今天,我们要给大家讲讲OpenAnolis的故事,她与每个Linux开发者都息息相关。OpenAnolis社区由阿里云于202…

云原生时代,消息中间件的演进路线 | 凌云时刻

凌云时刻 技术 导读:从虚拟化技术诞生以来,IaaS/PaaS/SaaS 概念陆续被提了出来,各种容器技术层出不穷。到 2015 年, Cloud Native 概念应运而生,一时间,各种云厂商,云服务以及云应用都加上了“…

Alibaba Cloud Linux 2 LTS OS 启动优化实践 | 凌云时刻

凌云时刻 技术 导读:Alibaba Cloud Linux 2 (原Aliyun Linux 2)是阿里云操作系统团队基于社区版 4.19 LTS 内核打造的一款针对云产品优化的下一代 Linux 操作系统发行版,不仅提供 Linux 社区的最新增强功能,也提供了云上最佳用户体验并针对阿…

云原生的What、Why、How | 凌云时刻

凌云时刻 洞见 导读:毋庸置疑,云计算的未来是云原生的。但是云原生到底是什么?在这场数字化转型的浪潮中,云原生扮演着什么角色?一千个人眼中,有一千个哈姆雷特。在本文中,从过去到未来&#x…

什么技术才值得你长期投入? | 凌云时刻

凌云时刻 洞见 导读:“每个人的时间都是有限的,在有限的时间里选择一项值得投入的技术会变得尤为重要。”那么,如何去选择一个值得投入的技术?一个值得长期投入的技术又具备哪些特性? 作者 | 简锋 来源 | 凌云时刻&am…

龙蜥社区首届理事大会圆满召开!14家理事代表出席

凌云时刻 编者按:2021年7月6日,OpenAnolis龙蜥社区成功召开首届理事大会,来自阿里云、统信软件、Intel、红旗软件、万里红、联通、电信云、移动云、龙芯、兆芯、飞腾、中科方德等14位家单位的理事代表出席。本次会议由龙蜥社区运营委员会主席…