学习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.mzph.cn/news/1185621.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计案例】基于Python的淘宝月季销售预测数据可视化系统(程序+文档+讲解+定制)

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

2025具身端侧芯片与云边协同:除了NV Thor,还有哪些芯片在具身机器人上整活儿

在Embodied AI范式全面转向Physical AI的2025年,人形机器人与高度自主移动系统的核心竞争力已不再仅仅局限于关节电机的扭矩或机械结构的灵活性,而在于那颗能够实时处理视觉、触觉、语音并转化为精准动作序列的“端侧大脑”及其背后的异构协同逻辑。随着…

深度学习计算机毕设之基于人工智能python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

力扣每日一练——Java

目录 一、字形变换 二、删除有序数组中的重复项 三、移除元素 四、找出字符串中第一个匹配项的下标 一、字形变换 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时…

NEAR协议:从AI研究到Web3基础层的进化之路

在区块链技术快速演进的今天,NEAR协议以其独特的分片架构和用户友好的设计理念,正成为构建下一代互联网应用的重要基础设施。本文将深入探讨NEAR的历史渊源、技术架构、核心价值与未来发展方向。一、历史起源:从AI研究到区块链实践NEAR协议的…

Go 连接mysql添加时区

import (_ "github.com/gogf/gf/contrib/drivers/mysql/v2" )mysql:root:123456tcp(127.0.0.1:3306)/star?charsetutf8mb4&parseTimeTrue&locAsia%2FShanghai

BNB链:从交易所代币到Web3基础设施的进化之路

在区块链世界竞争日益激烈的今天,BNB链以其独特的发展路径和技术架构,已成为连接传统金融与去中心化世界的重要桥梁。本文将深入解析BNB链的历史演进、技术架构、生态价值与未来展望。一、历史演进:从交易所代币到公链巨头BNB的发展历程堪称区…

深度学习毕设项目:基于python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

Cosmos:构建区块链互联网的宏伟蓝图与实践之路

在区块链技术蓬勃发展的今天,我们目睹了数以千计的区块链网络诞生,但它们大多如同孤岛,难以相互通信和协作。Cosmos(宇宙)应运而生,它并非一条单一的区块链,而是一个旨在连接这些孤岛、构建“区…

深度解析var、let、const的区别与最佳使用场景

深度解析var、let、const的区别与最佳使用场景在JavaScript的变量声明体系中,var、let、const是三种核心方式。ES6(ECMAScript 2015)引入let和const后,彻底改变了JS的变量作用域机制,解决了var长期存在的设计缺陷。很多…

Polygon链:从以太坊侧链到Web3基础设施的演进之路

在区块链技术快速发展的今天,Polygon(原名Matic Network)已从解决以太坊拥堵问题的侧链,演进为旨在构建"互联网价值层"的多链网络。它不仅提供了高扩展性的底层设施,还通过创新的ZK技术和代币经济模型&#…

Selenium+Python可通过 元素定位→操作模拟→断言验证 三步实现Web自动化测试

一、环境搭建(5分钟完成)1. 安装依赖bash# 安装Selenium库 pip install selenium 下载浏览器驱动(需与浏览器版本匹配):Chrome驱动:https://sites.google.com/chromium.org/driver/下载后放入Python安装…

深度学习计算机毕设之基于卷神经网络python-CNN深度学习识别猫脸

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

MBA必备!10个降AI率工具高效推荐

MBA必备!10个降AI率工具高效推荐 AI降重工具:MBA论文的高效护航者 在当前学术研究日益依赖人工智能技术的背景下,MBA学生在撰写论文时常常面临一个共同难题——如何有效降低AIGC率、去除AI痕迹,同时又不破坏文章的逻辑性和专业性。…

深度学习计算机毕设之基于python-CNN卷积神经网络人工智能的柑橘成熟度识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

别再让 Cursor 只当编辑器了!4 步解锁 Claude 官方技能!

别再让 Cursor 只当编辑器了!4 步解锁 Claude 官方技能!

《source insight》添加对.s文件的支持

今天发现source insight 3.5中默认忽略.s文件,这里添加对.s文件的支持。

深度实践!提示工程架构师与Agentic AI环境监测深度

深度实践!提示工程架构师与Agentic AI环境监测深度 一、引言:环境监测的“痛点”与Agentic AI的“解药” 1.1 环境监测的现状困境 清晨打开手机,你看到“空气质量良”的提示,但楼下的雾霾却让你咳嗽不止——这不是科幻电影&#x…

【毕业设计】基于python-深度学习CNN-pytorch训练识别蝴蝶-蚂蚱等昆虫

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

【毕业设计】基于python-CNN深度学习识别猫脸

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…