Java:方法详解

news2024/11/25 12:47:08

目录

一.什么是方法(method)

二.方法定义

三.方法中实参和形参的关系

四.方法重载

五.递归


一.什么是方法(method)

方法就是一个代码片段,再C语言中我们曾经学过一个类似的方式——函数,他们都是将具有独立功能的代码组织成一个整体,形成一个具有特殊功能的代码集,从而达到代码复用的效果

二.方法定义

方法语法格式

修饰符 返回值类型 方法名 (参数类型 参数名){

             方法体...

     return 返回值;

}

举例:(void 没有返回值)

public static void 方法名(){

            方法体...

注意事项 :

  • 修饰符:现阶段直接使用public static 固定搭配
  • 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void
  • 方法名字:采用小驼峰命名
  • 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
  • 方法体:方法内部要执行的语句
  • 在java当中,方法必须写在类当中
  • 在java当中,方法不能嵌套定义
  • 在java当中,没有方法声明一说

 举例:

定义一个判断是否是闰年的方法,是闰年返回true,不是闰年返回false.

public static boolean isLeapYear(int year){
        if((year%4==0 && year%100!=0) || year%400==0){
            return true;
        }else{
            return false;
        }
    }

 注意:

1.方法必须写在类当中

2. 方法不能嵌套定义

3.没有方法声明一说

跟C语言的函数不同,Java的方法不需要声明,只要方法在类中即可。

三.方法中实参和形参的关系

形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的实参的值。

所以我们可以说,形参是存储实参拷贝的值的,但形参和实参是两个实体。

例如:我们要交换两个值

 

根据执行结果我们发现实参并没有进行交换,而形参进行了交换 ,这是因为实参的值是在main方法的栈中,而形参的值是在swap方法的栈中,我们在swap中进行交换两个数的时候,只是在swap方法的栈中对形参进行了交换,并没有使main方法栈中的值发生改变,这样我们就进一步证明了在swap方法调用的时候,只是将实参的值拷贝到形参当中

如果我们想要进行两个数的交换,其实我们可以用数组进行交换

之所以数组能进行交换是因为数组存储的是地址,将地址传给形参,形参就会拿到main方法中实参的值,所以实参进行了交换。 

四.方法重载

方法重载概念

在生活中,我们的汉语的一个字可能有很多的意思,英语的一个单词也有许多不同的意思,像这种具有多重含义的表示,我们就称他为重载。

在Java中,我们也有重载的方式,比如我们有多个名字相同的方法,但是他们的参数列表并不相同,我们就称他为方法重载。

注意:

  • 方法名必须相同
  • 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
  • 与返回值类型是否相同无关 

 与返回值类型是否相同无关

五.递归

递归的概念

 一个方法在执行过程中调用自身, 就称为 "递归"

递归的必要条件:

1. 将原问题划分成其子问题,注意:子问题必须要与原问题的解法相同

2. 递归出口

举例:递归求 N 的阶乘 

 好了,今天的分享就到这里了,我们下一篇见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2208742.html

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

相关文章

论文阅读 BLIP-2

Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models 使用冻结的图像编码器和大型语言模型进行语言-图像预训练的引导 BLIP-2 通过一个轻量级的查询变换器弥合了模态之间的差距。 Querying Transformer 第一阶段通过冻结的图像编…

高纯PGME和PGMEA市场规模:2023年全球市场规模为6.43亿美元

研究对象:高纯PGME和PGMEA行业 高纯PGME(丙二醇甲醚)和PGMEA(丙二醇甲醚醋酸酯)是重要的有机溶剂,广泛应用于半导体和面板制造领域,尤其是在光刻胶和清洗剂中。高纯度的PGME和PGMEA对于确保电子…

软件测试面试题600多条及答案

这些问题都是软件测试领域常见的面试问题,以下是一些可能的答案: 什么是软件测试? 软件测试是一系列活动,旨在评估软件产品的质量和性能,以确保它符合规定的需求和标准。它包括执行程序或系统以验证其满足规定需求的过…

javaWeb-Mybatis操作

1.删除 2.新增 注意: 1. 使用对象来接收 2.插入的数据的名字,要和对象的属性名一致 3.新增(主键返回) 4.更新 5.查询(根据id查询) 会把查询到的数据映射到字段上。 6.查询(条件查询) %张%-->%${name}%

前端必知必会-Bootstrap 5 工具提示Tooltip

文章目录 Bootstrap 5 工具提示如何创建工具提示定位工具提示 总结 Bootstrap 5 工具提示 工具提示组件是一个小的弹出框,当用户将鼠标指针移到元素上时会出现: 如何创建工具提示 要创建工具提示,请将 data-bs-toggle“tooltip” 属性添加…

人工智能长期记忆的新突破:HippoRAG的创新框架

人工智能咨询培训老师叶梓 转载标明出处 大模型(LLMs)在预训练后,如何有效地整合大量新经验,同时避免灾难性遗忘,一直是人工智能领域的难题。尽管已有的检索增强生成(RAG)方法为LLMs提供了长期…

云轴科技ZStack入选信通院《高质量数字化转型产品及服务全景图》AI大模型图谱

近日,由中国互联网协会中小企业发展工作委员会主办的“2024大模型数字生态发展大会暨铸基计划年中会议”在北京成功召开。会上发布了中国信通院在大模型数字化等领域的多项工作成果,其中重点发布了《高质量数字化转型产品及服务全景图(2024上…

解决重写QSilder::sliderPress后点击位置与滑块显示位置不一样的问题

如下代码所示,我是用的是事件过滤器,也可以重写QSlider。 bool KuGouApp::eventFilter(QObject *watched, QEvent *event) {if(watched ui->progressSlider) {if (event->type()QEvent::MouseButtonPress) //判断类型{auto mouseEvent…

【封装案例】点和圆的关系

文章目录 前言1、point.h文件2、circle.h文件3、point.cpp文件4、circle.cpp文件5、主函数和全局函数6、测试 前言 本篇主要是用C实现一个判断点和圆关系的程序。 思路:已知点和圆心的坐标,通过比较两点间的距离和圆半径的大小,判断两者的关…

ubuntu下实时查看CPU,内存(Mem)和GPU的利用率

一、实时查看CPU和内存(Mem)利用率 htop官网:htop - an interactive process viewer sudo apt-get install htop htop ①. 顶部状态栏(System Metrics Overview) 这个区域显示系统的全局资源使用情况,包括…

18770 差值最大

### 思路 为了找到两个数x和y使得x - y的值最大,并且x在y的右侧,我们可以使用以下方法: 1. 从右向左遍历数组,记录当前遍历到的最大值max_right。 2. 对于每个元素a[i],计算max_right - a[i],并更新最大差…

我的研究生周报模板

2022.12.12——2022.12.18周报 本周计划 文献阅读:(说明是打算读哪方面的论文) 实验:(打算做什么实验,目的是什么) 项目:(打算完成项目中哪一部分) 本周进…

fastadmin 多商户模式下侧边栏跳转路径BUG

记录:仅作自己项目记录,在一个域名下部署多套项目时,若是多商户模式项目会出现跳转路径问题。 修改 \manystore\library\Auth.php 文件的 getSidebar 方法 // 1 改为: $v[url] isset($v[url]) && $v[url] ? $v[url] :…

Reqable抓包演示

1.Reqable下载 官网:Reqable 下载对应平台版本即可。 多个客户端。 2.使用教程 打开后如下图所示 根据提示安装完证书后即可使用。 这里以小猿口算的练习模式的抓包为例 1.打开雷电模拟器 在模拟器上安装Reqable,并安装证书,一定要安装…

【C++】基于红黑树封装set和map

🚀个人主页:小羊 🚀所属专栏:C 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言一、更高维度的泛型二、模版参数三、比较逻辑的重写四、迭代器4.1 const迭代器4.2 重载4.3 - -重载 五、完整代…

EXCEL SUM系列求和函数大全

大家好,这里是效率办公指南! 📊 在数据分析中,求和是一项基础而频繁的操作。Excel 提供了一系列求和函数,可以帮助我们快速汇总数据。今天,我们将介绍 Excel 中常用的求和函数,包括它们的语法和…

java 自定义填充excel并导出

首先在resources下面放一个excel模板 1. 方法签名和请求映射 RequestMapping(value "/ExportXls") public ResponseEntity<byte[]> rwzcExportXls(HttpServletRequest request, RequestBody JSONArray jsonArray) throws IOException { RequestMapping(val…

YOLO11改进 | 注意力机制 | 结合静态和动态上下文信息的注意力机制

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 上下文Transformer&#xff08;CoT&…

【MySQL 保姆级教学】数据库基础(重点)(2)

目录 1. 什么是数据库1.1 数据库的定义1.2 mysql 和 mysqld1.3 文件和数据库 2. 数据库的分类3. 连接数据库3.1 数据库的安装3.2 连接服务器&#xff08;数据库&#xff09;3.3 服务器 数据库 表 三者的关系 4. 数据库-表 和目录-文件 的关系5. MySQL 框架6. SQL 分类7. 储存引…

人工智能AI等级划分

人工智能等级划分 第一级“聊天机器人”。 第二级“推理者”水平。这一级别的AI系统具备类似拥有博士学位教育但未配备任何工具的人类&#xff0c;能执行基础的问题解决任务。据悉&#xff0c;OpenAI的管理层在会议中还向员工们展示了涉及GPT-4 AI模型的一个研究项目&#xff…