JAVA函数(方法)

article/2025/8/23 7:16:08

函数的概念

函数是定义在类中的一段独立的代码块,用来实现某个功能。Java中,函数又被称为方法。

函数的主要作用是为了提高代码的复用性。

函数都是在栈内存中运行;运行的函数处在栈顶。

函数格式:修饰符    返回值类型    函数名  (  [    参数类型1 参数名1,参数类型2 参数名2....    ]  ){

                   //   [    ]    里面表示可选项,即参数不是必须的

                   执行语句...

                   return  返回值;    //返回值的类型必须与返回值类型一致

                    }

说明:

  • 修饰符:可以是访问修饰符,也可以说是函数修饰符(abstract、final、 static、synchronized),还可以是两者的组合。
  • 返回值类型:用于限定函数返回值的数据类型。
  • 参数类型:用于限定调用函数时传递的数据类型。
  • 参数名:是一个变量,用来接收调用方法时传递的数据。
  • return:用来接收方法以及返回函数指定类型的值。
  • 返回值:这个值会返回给函数的调用者。

示例:

public class method {/** 程序入口,主函数 .* * @ 方法 <==> 函数,指的是同一个东西.*/public static void main(String[] args) {// 通过函数名调用method01();method02(9, 3);System.out.println("5+6=" + add(5, 6));}/** @ 函数的格式为:* * @ 访问修饰符 返回值类型 函数名(参数类型1 参数名1,参数类型2 参数名2....){* * @ 执行语句* * @ return 返回值;//返回值的类型必须与返回值类型一致* * @ }*//** @ 声明一个静态函数method01() 无参数无返回值*/static void method01() {System.out.println("这是method01方法,可以通过method01();调用.");// 这个return可以省略.每个函数都是以return结束,返回到函数调用处return;}/** 有参数无返回值*/static void method02(int num1, int num2) {method01();System.out.println("这是method02方法,第一个参数是" + num1 + "第二个参数是" + num2);}/** 有返回值的返回值类型要和要返回的数据类型一致* * @ 例如:计算两个整数的和,结果仍然是整型,返回值类型为int.返回值类型可以说基本数据类型,也可是自定义的数据类型*/static int add(int num1, int num2) {int sum = 0; // 声明一个整形变量并初始化为0sum = num1 + num2;// 将num1和num2的和赋值给sumreturn sum;// 将sum的值返回到调用处}}

 运行结果:

运行结果

 

函数的重载

函数的重载是指,在同一个类中,可以定义多个函数名相同、参数列表不同的函数。

参数名相同,参数个数不同,参数列表不同均属于函数重载的情况。注意,函数的重载和返回值类型无关。

调用时通过函数名和参数列表来确定一个函数。

示例:


public class Overloading {public static void main(String[] args) {//函数同名,发生重载,调用时通过函数名和参数列表来确定一个函数。name(5);name(3, 4);name(1, 'A');name('Z', 26);}public static void name(int i) {System.out.println("void name(int i)的函数被调用!");}// 与返回值无关,同名函数会发生错误// public static int name(int i) {//     System.out.println("int name(int i)的函数被调用!");//     return i-1;// }private static void name(int i, int j) {System.out.println("name(int i, int j)的函数被调用!");}// private static void name(int j,int i) {} //于 name(int i, int// j)是一样的,是同一个函数,会发生错误private static void name(int i, char j) {System.out.println("name(int i, char j)的函数被调用!");}private static void name(char j, int i) {System.out.println("name(char j, int i)的函数被调用!");}
}

运行结果:

运行结果

 

函数的递归

函数的递归是指在一个函数的内部调用自身的过程。

递归必须要有结束条件,不然就是陷入无限递归的状态,永远无法结束函数的调用。

示例:

public class Recursion {public static void main(String[] args) {int sum = sum(50);// 利用递归求1~50的和System.out.println("1+2+3+4+....+47+38+49+50=" + sum);}// 利用递归求累加值private static int sum(int i) {if (i == 1) {return 1;}return i + sum(i - 1);}
}

运行结果:

简单递归结果


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

相关文章

java函数

函数&#xff08;function&#xff09;&#xff1a; 函数是什么&#xff1f; 函数就是具有名称的特定功能代码的集合。 为什么使用函数&#xff1a; 提高代码的复用度 Java中如何定义函数 访问修饰符 [static] 返回值的类型 函数名称([形式参数列表]) { // 函数体 由一行或者…

函数总结:

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

java 基础——函数(方法)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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