当前位置: 首页 > news >正文

Java 学习打卡 Day6:方法基础入门

一、今日学习目标

  1. 理解什么是 Java 方法,以及方法的核心作用与优势
  2. 掌握三种方法的格式:无参数无返回值、带参数无返回值、带参数带返回值
  3. 理解方法的定义、调用流程,分清形参与实参的区别
  4. 掌握带返回值方法的三种调用方式,理解return语句的用法与注意事项
  5. 熟悉方法的核心注意事项,避免常见的编译与运行错误

二、今日知识点

(1)什么是方法

方法就是一段具有独立功能的代码块,可以被重复调用执行,是 Java 实现代码复用的核心方式之一。简单来说,就是把一段反复用到的代码,打包成一个 “工具”,需要的时候直接调用这个工具,不用重复写代码。


(2)方法的作用、使用场景与优势

1. 核心优势
优势说明
提高代码复用性相同功能的代码只需要写一次,就能在多个地方重复调用
提升代码可维护性功能修改只需要修改方法内部,所有调用的地方都会同步生效
增强代码可读性方法名可以直观体现功能,代码结构更清晰,逻辑更易理解
降低代码冗余避免大量重复代码,减少出错概率
2. 典型使用场景

只要代码出现重复执行的逻辑,就适合封装成方法。举个例子:

  • 场景 1:计算长方形的面积。如果程序中多次需要计算不同长方形的面积,就可以把长方形的面积计算逻辑封装成方法,传入长和宽就能得到结果。
  • 场景 2:重复执行的固定流程。比如每天的日程(起床、洗漱、吃早餐、工作),每次需要执行时,直接调用日程方法即可。
3. 案例解析

图片中的dayPlan()方法就是典型的 “固定流程封装” 场景:

两次调用dayPlan(),控制台输出了两次完整的日程流程,实现了代码复用。


(3)方法的三种格式详解

Java 方法的核心分为定义调用两部分,根据是否带参数、是否带返回值,分为三种常见形式:

1. 无参数无返回值方法

这是最简单的方法,没有参数也没有返回值,只执行固定逻辑。

① 定义格式
修饰符 static void 方法名(){ // 方法体:需要执行的代码 }
  • 修饰符:这里用public static,和主方法保持一致(同类中直接调用)
  • void:表示这个方法没有返回值
  • 方法名:自定义,建议用小驼峰命名,见名知意(比如dayPlan
② 调用格式
方法名();
③ 执行流程
  1. 程序从主方法main开始执行
  2. 遇到方法名();时,跳转到对应的方法定义处
  3. 执行方法体里的所有代码
  4. 方法执行完毕,回到主方法中调用方法的位置,继续执行后面的代码
④ 案例

只调用了一次dayPlan(),后面直接写了午饭和午休的逻辑,避免了重复代码的同时,也让主方法的逻辑更清晰。


2. 带参数无返回值方法

方法需要接收外部传入的数据,根据传入的数据执行逻辑,但不返回结果。

① 定义格式
修饰符 static void 方法名(数据类型 变量名1, 数据类型 变量名2, ...){ // 方法体:使用传入的变量执行逻辑 }
  • 括号里的变量名就是形参(形式参数),相当于方法内部的局部变量,用来接收外部传入的数据。
② 调用格式
方法名(实际值1, 实际值2, ...);
  • 括号里的实际值就是实参(实际参数),是调用方法时真正传给方法的数据。
③ 形参与实参的区别与联系
维度形参实参
定义位置方法定义的括号内方法调用的括号内
本质变量,用来接收数据实际的数据(常量 / 变量)
作用声明方法需要接收的数据类型和数量给方法传入具体的执行数据
联系调用方法时,实参必须和形参的数据类型、数量、顺序完全匹配
④ 执行流程
  1. 主方法执行,遇到方法调用
  2. 把实参的值传给对应的形参
  3. 跳转到方法定义处,执行方法体(使用形参的值)
  4. 方法执行完毕,回到主方法继续执行后续代码
⑤ 案例

运行结果:控制台输出两数之和为:671,实现了传入两个数并计算和的功能。


3. 带参数带返回值方法

方法接收外部数据,执行逻辑后,会返回一个结果给调用处。

① 定义格式
修饰符 static 返回值类型 方法名(数据类型 变量名1, 数据类型 变量名2, ...){ // 方法体:执行逻辑 return 结果值; // 返回结果,结果值的类型必须和返回值类型一致 }
  • 返回值类型:方法返回结果的数据类型,比如intdoubleString
  • return:关键字,用来返回结果,同时结束方法的执行
② 调用格式

带返回值的方法有三种调用方式:

直接调用:调用方法,方法会正常返回值,但不使用变量接收结果,控制台无显示。

getsum(200, 471);

赋值调用:用一个变量接收返回值,后续可以使用这个变量

int sum = getsum(200, 471); System.out.println(sum);

输出调用:直接在System.out.println()中调用方法,控制台会输出返回的结果

System.out.println(getsum(200, 471));
③ 执行流程
  1. 主方法执行,遇到方法调用
  2. 实参传给形参,跳转到方法定义处
  3. 执行方法体逻辑,遇到return语句
  4. return语句把结果返回给调用处,同时结束方法
  5. 调用处接收返回值(或丢弃),继续执行后续代码
return语句的注意事项
  • return后面可以跟参数(结果值),也可以不跟:
    • 带返回值的方法:return后面必须跟结果值,且类型和返回值类型一致
    • 无返回值的方法(void):可以写return;,用来提前结束方法,后面不能跟结果值
  • return语句后面不能写其他代码,因为方法执行到return就会结束,后面的代码永远不会执行,编译器会报错(“不可达代码”)
⑤ 案例

运行结果:控制台输出两次671(赋值调用和输出调用的结果)。

运行结果:控制台输出2号付钱,因为sum1=415sum2=852,满足sum1 < sum2的条件。


(4)方法的核心注意事项

  1. 方法不调用不执行:方法定义后,只有被调用时才会执行,不调用不会运行
  2. 必须先定义后调用:方法必须先定义在类中,才能被调用,否则会报 “找不到符号” 的编译错误
  3. 方法不能嵌套定义:方法内部不能再定义另一个方法,所有方法都必须定义在类中,平级存在
  4. 参数必须匹配:带参数的方法调用时,实参的数据类型、数量、顺序必须和形参完全一致,否则会编译报错
  5. 方法的编写顺序不影响执行顺序:方法的执行顺序只和调用顺序有关,和定义时的先后顺序无关
  6. void方法不能有返回值:无返回值的方法,不能用return返回结果,否则会编译报错
  7. return会终止方法执行:方法执行到return语句时,会立刻结束方法,后续代码不会执行

三、 今日总结

  1. 方法是封装了独立功能的代码块,核心优势是提高代码复用性和可维护性
  2. 方法分为三种:无参数无返回值、带参数无返回值、带参数带返回值,每种都有对应的定义和调用格式
  3. 形参是方法定义时的变量,实参是调用时传入的实际数据,二者必须类型、数量、顺序匹配
  4. 带返回值的方法有三种调用方式:直接调用、赋值调用、输出调用,return语句会结束方法执行,且后面不能有不可达代码
  5. 方法的核心规则:不调用不执行、先定义后调用、不能嵌套定义、参数必须匹配、编写顺序不影响执行顺序
http://www.jsqmd.com/news/773625/

相关文章:

  • macOS外接显示器亮度调节终极指南:如何用MonitorControl告别物理按钮烦恼
  • 开源风险发现工具Riskow:上下文感知的云原生安全风险评估实践
  • 对比使用聚合平台前后在模型选型与切换上的效率提升
  • douyin-downloader:面向未来的智能内容管理架构
  • ESP32-H2开发板硬件优化与多协议开发实战
  • singleflight
  • AI模型平台选型革命:国产新秀模力方舟如何打破大厂垄断格局
  • 汽车CAN总线实时系统设计与响应时间分析
  • 终极指南:5分钟快速上手Open-Lyrics,让AI为你的音频自动生成精准字幕
  • 洛谷P1074 [NOIP 2009 提高组] 靶形数独题解
  • Fernflower:Java字节码智能反编译的艺术与实践
  • 如何用FUnIE-GAN打破水下视觉迷雾?3分钟掌握实时图像增强核心技术
  • 零基础如何做车载嵌入式开发?学好C++至关重要
  • 【DAY 1.数据结构之反转链表1.牛客网BM1】
  • 多智能体协作框架:AI驱动的软件开发团队自动化实践
  • OpenCore Legacy Patcher:突破苹果硬件限制的系统兼容性架构解析
  • Gemini3.1Pro一键生成高效教研方案
  • 氢燃料微型燃气轮机增程系统建模及控制策略【附代码】
  • 开源中国的国产化突围:构建安全可控的智能研发生态体系
  • 分布式搜索引擎:Elasticsearch 从入门到实战
  • 高通全新骁龙芯片将大幅减少中端安卓手机卡顿现象
  • LTC3783 LED驱动控制器设计与效率优化详解
  • 嵌入式开发新利器:轻量级芯片包管理器vpm实战指南
  • BepInEx完整指南:5分钟掌握Unity游戏插件框架的安装与配置
  • PatreonDownloader终极指南:轻松备份Patreon付费内容的完整解决方案
  • 交互式学习平台Vibe-Learn:架构设计与实战搭建指南
  • 三维计算几何基础
  • 从DS18B20到BMI088:聊聊那些年我用过的传感器,以及如何为你的项目选型
  • 金融智能体开发实战:基于eforest-agent-skills构建领域专家Agent
  • Python科研绘图实践【13】——线性回归拟合图附代码