Java 基础|函数 (方法) 详解
一、引入如果程序中大量书写重复代码会带来以下问题代码冗余可读性低后期不利于维护解决思路 把重复的代码只定义一次给这段代码起名字后续需要使用时直接通过名字调用执行。二、函数1. 概念函数是实现特定功能的一段程序代码可以通过函数名字被反复调用使用。2. 函数的使用流程函数的定义函数的声明确定函数功能、函数名称、参数、返回值函数的实现书写函数内部具体业务代码函数的调用通过函数名字执行函数完成对应功能3. 函数定义位置函数定义在类内部其他函数外部。当前阶段和 main 方法并列书写。三、函数的定义1. 基础语法public static void 函数名字(数据类型 变量名){ // 函数体实现功能的代码 }函数三要素返回值、函数名、形参列表。2. 函数名遵循标识符命名规范见名知意小驼峰命名第一个单词首字母小写其余单词首字母大写3. 参数参数调用者和函数之间传递的数据。语法public static void 函数名字(数据类型 变量名,数据类型 变量名)形式参数形参定义函数时括号中声明的变量。相当于函数内部的局部变量函数内部直接使用参数名。一个函数可以有多个形参每个参数都必须写数据类型类型相同也不能省略类型多个参数用逗号隔开。形参列表长度0 ~ n个。4. 返回值1void无返回值void代表函数不需要向调用者返回结果。public static void 函数名(形参列表){ // 可以不写return // 也可以写 return; 作用直接结束当前函数 return; }2有返回值8 种基本类型 / 引用类型函数执行完成后需要把结果返回给调用处。public static 数据类型 函数名(形参列表){ return xxx; // return后面数据类型必须和函数声明的返回值类型保持一致 }return 两大作用将函数执行结果返回给调用者结束当前函数return之后不能书写其他执行语句return 使用细节函数返回值类型不为void函数中必须保证有 return 返回数据。如果 return 写在分支内部必须保证每一条分支路径都存在 return 语句否则编译报错。四、函数的调用1. 无参函数调用函数名();2. 带参数函数调用函数名(实参1,实参2,实参3);实际参数实参调用函数时传入的数据用来给形参赋值。 ⚠️实参的类型、个数、顺序必须和形参列表保持一致。3. 带返回值函数调用数据类型 变量名 函数名(实参);有返回值函数三种处理方式使用相同类型变量接收返回值最常用数据类型 变量 函数名(实参);直接调用不接收返回值实际开发极少使用函数名(实参);直接写在打印语句或者运算表达式中只使用一次结果System.out.println(函数名(实参)); int res 10 函数名(实参);注意void无返回值函数不能直接放入System.out.println()打印。五、函数的作用减少代码冗余提高代码可读性提高代码可维护性提高代码复用性便于团队分工、协同开发六、函数的嵌套调用1. 概念在一个函数内部调用另外一个函数。2. 执行原理程序从上向下执行遇到函数调用跳转到被调用函数执行被调用函数全部执行完毕之后携带返回值回到调用位置继续向下执行原有函数剩余代码。3. JVM 栈内存简单理解JVM 虚拟机栈是 Java 函数执行的内存模型。每一个函数执行都会创建一块栈帧 (Stack Frame)。栈帧保存局部变量表、操作数栈、函数出口等信息。函数执行结束返回调用位置该函数对应的栈帧内存直接回收。七、递归递归概念函数的内部调用函数自身称为递归调用。⚠️无穷递归会抛出异常java.lang.StackOverflowError栈溢出。写递归一定要定义递归出口终止条件避免无限调用。案例阶乘计算。适用场景复杂问题可以拆解成若干相同逻辑的子问题。

相关新闻

小模型 Agent 闯进安全禁区:27B 本地逆向、$266 越狱平板刷屏 —— AI 应用简报 08.20-08.24

小模型 Agent 闯进安全禁区:27B 本地逆向、$266 越狱平板刷屏 —— AI 应用简报 08.20-08.24

# 小模型 Agent 闯进安全禁区:27B 本地逆向、$266 越狱平板刷屏 —— AI 应用简报 08.20-08.24 核心观点:安全逆向这类"硬骨头"任务第一次被本地小模型成群拿下——能力从云端前沿模型专属,下放到了"开源模型 一张信用卡&quo…

2026/11/6 0:52:41 阅读更多 →
基于 Simulink 的双向 DC/AC 逆变器 FPGA 硬件在环(HIL)控制仿真实战教程

基于 Simulink 的双向 DC/AC 逆变器 FPGA 硬件在环(HIL)控制仿真实战教程

目录 🎯 一、 核心原理:为什么需要 FPGA 来做 HIL? 传统 CPU 仿真的局限 FPGA 的破局点 🛠️ 二、 详细建模与部署步骤 第一步:搭建适合 FPGA 部署的逆变器模型 第二步:配置 FPGA 接口与 I/O 映射 第…

2026/10/31 16:48:25 阅读更多 →
PCA 数据降维:原理、Sklearn 实战与自动选 K

PCA 数据降维:原理、Sklearn 实战与自动选 K

一、为什么需要降维 在机器学习与数据分析中,高维数据(几十甚至几百个特征)会带来诸多挑战。PCA(主成分分析)作为一种经典的线性降维技术,能够有效解决以下痛点: 痛点解决方案维度灾难&#x…

2026/11/14 10:08:44 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/14 5:13:29 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/14 5:13:29 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/14 5:13:29 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/14 2:41:37 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/14 5:13:29 阅读更多 →

日新闻

周新闻

月新闻