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

学习Java的第七天——基础(方法的使用)

目录

一、方法的概念以及使用

1.1 什么是方法

1.2 方法的定义

1.3 方法调用的执行过程

1.4 实参和形参的关系

1.5 没有返回值的方法

二、方法的重载

2.1 为什么需要方法重载

2.2 方法重载的概念

三、递归

3.1 递归的概念

3.2 递归执行过程分析


一、方法的概念以及使用

1.1 什么是方法

比如说要开发一款日历,要经常判断是否为闰年,那么这个组织代码,就可以被称之为方法,客户可以在多个位置使用。

1.2 方法的定义

public static 返回值 方法名(形式参数列表) { 方法体代码; return 返回值; }

1.修饰符:public static(目前先用这个做固定搭配)

2.返回值类型:如果方法有返回值,返回值类型不行要与返回的实体类型一致,如果没有,必须写成void。

3.方法名:采用小驼峰。

4.参数列表:如果没有参数就是()。如果有参数,需要指定参数类型,每个参数之间用逗号隔开。

5.方法体:方法内部要执行的语句。

6.在Java中,方法必须写在类中、方法不能嵌套定义、没有方法声明这个说法。

1.3 方法调用的执行过程

调用方法------>传递参数------>找到方法地址------>执行被调方法的方法体------>被调方法结束返回------>回到主调方法继续往下执行。

1.4 实参和形参的关系

形参的改变不会影响实参的值,方法拿不到main函数中变量的地址。

在Java中,实参的值永远都是拷贝到形参中,实参和形参本质上是两个实体。

public class Test { public static void main(String[] args) { int a = 10; int b = 20; swap(a, b); System.out.println("main: a = " + a + " b = " + b); } public static void swap(int x , int y) { int tmp = x; x = y; y = tmp; System.out.println("swap :x = " + x +" y = " + y); } }

1.5 没有返回值的方法

方法的返回值是可选的,有的时候可以没有,没有时返回值类型就必须是void;

public class Test { public static void main(String[] args) { int a = 10; int b = 20; print(a, b); } public static void print(int x, int y) { System.out.println("x = " + x + " y = " + y); } }

二、方法的重载

2.1 为什么需要方法重载

想要实现的功能一样只是参数类型不一样,或者参数类型一致,参数个数一致,如果写多个方法名就不太美观,因此有了方法重载。

2.2 方法重载的概念

在Java中方法名一致,参数列表不同(类型不同,个数不同,顺序不同),则称这几种方法被重载了。

public class Test { public static void main(String[] args) { System.out.println(add(2, 3)); System.out.println(add(2.3, 3.3)); System.out.println(add(3.2, 3.4, 5.1)); } public static int add(int x, int y) { return x + y; } public static double add(double x, double y) { return x + y; } public static double add(double x, double y, double z) { return x + y + z; } }

三、递归

3.1 递归的概念

一个方法在执行的过程中调用自身就被称为递归!

public class Test { public static void main(String[] args) { int n = 5; int ret = factor(n); System.out.println("ret = " + ret); } public static int factor(int n) { if(n == 1) { return 1; } return n * factor(n - 1); } }

3.2 递归执行过程

必须要理解“方法的执行过程”。

http://www.jsqmd.com/news/270001/

相关文章:

  • 【计算机毕业设计案例】基于Python的淘宝月季销售预测数据可视化系统(程序+文档+讲解+定制)
  • 2025具身端侧芯片与云边协同:除了NV Thor,还有哪些芯片在具身机器人上整活儿
  • 深度学习计算机毕设之基于人工智能python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫
  • 力扣每日一练——Java
  • NEAR协议:从AI研究到Web3基础层的进化之路
  • Go 连接mysql添加时区
  • BNB链:从交易所代币到Web3基础设施的进化之路
  • Cosmos:构建区块链互联网的宏伟蓝图与实践之路
  • 深度学习毕设项目:基于python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫
  • 深度解析var、let、const的区别与最佳使用场景
  • Polygon链:从以太坊侧链到Web3基础设施的演进之路
  • Selenium+Python可通过 元素定位→操作模拟→断言验证 三步实现Web自动化测试
  • MBA必备!10个降AI率工具高效推荐
  • 深度学习计算机毕设之基于卷神经网络python-CNN深度学习识别猫脸
  • 深度学习计算机毕设之基于python-CNN卷积神经网络人工智能的柑橘成熟度识别
  • 别再让 Cursor 只当编辑器了!4 步解锁 Claude 官方技能!
  • 《source insight》添加对.s文件的支持
  • 深度实践!提示工程架构师与Agentic AI环境监测深度
  • 【毕业设计】基于python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫
  • 【毕业设计】基于python-CNN深度学习识别猫脸
  • 3D建模中的提示工程实战:生成影视道具完整案例
  • 【课程设计/毕业设计】基于深度学习python-CNN卷积神经网络的柑橘成熟度识别
  • 【毕业设计】基于python-CNN卷积神经网络的柑橘成熟度识别
  • 基于Python+Django网络爬虫的房屋信息采集系统的设计与实现 #计算机毕业设计 毕设 论文 开题报告
  • Python毕设项目推荐-基于Python的淘宝月季销售预测数据可视化系统【附源码+文档,调试定制服务】
  • 09. 集成学习
  • 【课程设计/毕业设计】基于机器学习python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫
  • AI智能体编写实战AutoGen篇(四)——会干活的导诊 Agent(Planner + Tools 实战)
  • 洛谷 P6419:[COCI 2014/2015 #1] Kamp ← 换根DP
  • 基于人工智能的智能客服系统设计与实现 #计算机毕业设计 毕设 论文 开题报告