【JavaEE重点知识归纳】第5节:方法

news2024/11/18 17:29:01

目录

一:方法的概念和使用

1.什么是方法

2.方法的定义

3.方法的调用过程

4.实参和形参的关系(重点)

二:方法重载

1.方法重载概念

2.方法签名

三:递归

1.递归的概念

2.递归执行的过程分析

一:方法的概念和使用

1.什么是方法

        在Java中方法就类似于C语言中“函数”的概念。能够让代码重复使用,不必每次使用相同操作时重复编写程序。能够更好的理解代码。

2.方法的定义

(1)定义;

//方法定义:
修饰符 返回值类型  方法名称 (参数类型 形参……){
    方法体;
    return 返回值;
}

比如main方法

(2)注意:

        1)修饰符:现阶段就是直接使用public  static固定搭配

        2)返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值则为void

        3)方法名字采用小驼峰命名(即除了第一个单词的首字母不用大写以外,每个单词的首字母都需要大写)

        4)参数列表:如果方法没有参数,()中什么都不用写,如果有参数,需要指定参数类型,多个参数之间用逗号隔开

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

        6)在Java当中,没有方法声明一说,方法必须写在类当中,方法不能嵌套 

3.方法的调用过程

(1)过程:调用方法——>传递参数——>执行被调用方法的方法体——>被调方法结束返回——>回到主调方法继续向下执行

(2)注意:

        1)定义方法的时候,不会执行方法的代码,只用调用的时候才会执行

        2)一个方法可以被多次调用

        3)使用方法,避免使用二重循环,让代码简单清晰

4.实参和形参的关系(重点)

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

(2)在Java中,实参的值永远都是赋值给形象的,传值使用的时候,改变形参的值不会改变实参的值

在swap函数交换之后,形参x,y的值发生了改变,但是main方法中a,b还是交换之前的值。原因是实参和形参是没有任何关联的变量,在swap方法在调用的时候,只是将实参a,b的值赋值给形参。

(3)在Java中不允许拿局部变量和栈上的地址,即直接传址不可用,但是可以通过数组来实现传引用类型参数

二:方法重载

1.方法重载概念

(1)在Java中,如果多个方法名字相同,参数列表不同,则称该几种方法被重载了。

上面三个add方法构成了方法重载。

(2)注意:

        1)方法名必须相同

        2)参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序不同)

        3)返回值类型不做要求

2.方法签名

(1)在同一个作用域中不能定义两个相同名称的标识符。比如:方法中不能定义两个名字一样的变量,那么为什么类中可以定义方法名相同的方法?由此得出了方法签名的概念

(2)方法签名:经过编译器编译修改过之后方法最终的名字。具体方法:方法全路径名+参数列表+返回值类型,构成方法完成的名字。(这个不做掌握,了解即可【方法名相同但方法签名不同】)

三:递归

1.递归的概念

(1)一个方法在执行过程中调用自身,就称为“递归”

(2)递归的必要条件:

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

        2)递归出口

2.递归执行的过程分析

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

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

相关文章

HttpStatusCodeException.getResponseBodyAsString 乱码

场景: 项目a进行了spring boot版本升级, 使用了2.7.15 项目b是做接口转发 (没升级spring boot版本, 用的是2.1.5) 调用过程: 请求方>>项目b>>项目a 现象: postman直接调用a中的接口, 接口报错, msg里的错误信息是正常显示 当调用接口报错时, msg里的错误信息是…

算法笔记:0-1背包问题

n个商品组成集合O,每个商品有两个属性vi(体积)和pi(价格),背包容量为C。 求解一个商品子集S,令 优化目标 1. 枚举所有商品组合 共2^n - 1种情况 2. 递归求解 KnapsackSR(h, i, c)&#xff…

Vue中如何进行数据可视化雷达图展示

在Vue中进行数据可视化雷达图展示 数据可视化是将数据以图形方式呈现的过程,雷达图是其中一种常用的图表类型,用于可视化多个维度的数据。Vue.js作为一个流行的JavaScript框架,提供了许多工具和库来实现数据可视化。本文将介绍如何使用Vue来…

git与github的交互(文件与文件夹的上传)

git与github的交互(文件与文件夹的上传) 准备:gitHub账号(创建一个新项目)与Git软件的安装 一:开启公钥SSH登录(之前配置过就跳过) 1.安装SSH 在本地新创建文件夹负责装载项目&a…

Java虚拟机内存模型

JVM虚拟机将内存数据分为: 程序计数器、虚拟机栈、本地方法栈、Java堆、方法区等部分。 程序计数器用于存放下一条运行的指令; 虚拟机栈和本地方法栈用于存放函数调用堆栈信息; Java堆用于存放Java程序运行时所需的对象等数据&#xff1b…

桌面应用开发:Go 语言和 Web 技术的融合创新 | 开源日报 No.46

TheAlgorithms/Python Stars: 161.5k License: MIT 这个开源项目是一个用 Python 实现的算法库,旨在提供教育目的下使用的各种算法。 提供了大量常见算法的 Python 实现。适合学习和教育目的,可以帮助读者更好地理解不同类型的算法。 airbnb/javascri…

AI:08-基于深度学习的车辆识别

随着汽车行业的迅速发展,车型识别在交通管理、智能驾驶和车辆安全等方面变得越来越重要。基于深度学习的车型识别技术为实现高效准确的车辆分类和检测提供了强大的工具。本文将介绍如何利用深度学习技术来实现车型识别,并提供相应的代码示例。 数据收集和预处理: 为了训练…

PHP 行事准则:PHP 配置文件

文章目录 参考环境PHP 行事准则PHP 配置文件php.ini-production 与 php.ini-development生产配置文件开发配置文件配置文件的应用版本差异 修改配置的生效 PHP 运行时配置ini_set()布尔配置项限制 phpinfo()phpinfo 页面Core 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一…

软件设计师学习笔记11-磁盘管理+IO管理软件+文件管理+作业管理

目录 1.磁盘管理 1.1磁盘(了解一下) 1.2读取磁盘数据的时间 1.3 磁盘调度算法 1.3.1常见的磁盘调度 1.3.2 先来先服务(FCFS) 1.3.3 最短寻道时间优先(SSTF) 1.4 例题补充(均来自希赛软考) 1.4.1 单/双缓冲区花销时间的计算 1.4.2 SSTF 1.4.3 磁道物理块花销时间计算…

UE5.1编辑器拓展【三、脚本化资产行为,删除无引用资产】

目录 需要考虑的问题 重定向的修复函数 代码: 删除无引用资产 代码 需要添加的头文件和模块 在我们删除资产的时候,会发现,有些资产在删除的时候会出现有被什么什么引用,还有的是没有被引用。 而我们如果直接选择一片去进行…

Qt的WebEngineView加载网页时出现Error: WebGL is not supported

1.背景 当我在qml中使用WebEngineView加载一个网页时,出现以下错误: Error: WebGL is not supported 2.解决方案 其实这个问题在Qt的帮助文档中已经提及了解决办法: 因此,可以按照下面的步骤操作一下: 2.1.pro文件 …

win10、win11彻底永久关闭自动更新的方法

win10、win11彻底永久关闭自动更新的方法 前言彻底关闭自动更新方法步骤一、禁用Windows Update服务二、在组策略里关闭Win10自动更新相关服务四、在注册表中关闭Win10自动更新 完结 前言 win系统的自动更新可谓是非常顽固,很多用户在网上试了各种关闭win系统自动更…

【DevExpress基础一】之MapControl的基础用法(含demo和png瓦片地图下载地址)

结果预览 定义一个自定义控件 需要定义以下几个变量: MapControl,地图控件变量ImageLayer,地图切片数据层VectorItemsLayer,地图矢量图层MapItemStorage,矢量图层的Storage// 添加 MapControl 控件 public MapControl map = new MapControl(

二叉树的经典OJ题

对称二叉树 1.题目2.图形分析3.代码实现 1.题目 2.图形分析 3.代码实现 class Solution {public boolean isSymmetric(TreeNode root) {if(root null){return true;}return isSymmetricchild(root.left,root.right);}private boolean isSymmetricchild(TreeNode leftTree,Tre…

洛谷刷题:数组

好累,学习令我快乐 一、小鱼比可爱 题目链接:https://www.luogu.com.cn/problem/P1428 题目描述 人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从…

System vulnerabilities and common attack methods

《米特尼克自传》难以置信的,大开眼界的个人真实故事哈哈哈哈 链接:https://pan.baidu.com/s/1FNCpjRDHgKfCdLHQ6mQfuQ?pwdw24y 提取码:w24y A system vulnerability is a weakness in the design, implementation, or configuration of a …

【微信小程序开发】宠物预约医疗项目实战-登录实现

【微信小程序开发】宠物预约医疗项目实战-登录实现 第二章 宠物预约医疗项目实战-注册实现 文章目录 【微信小程序开发】宠物预约医疗项目实战-登录实现前言一、打开项目文件二、编写代码2.1 wxss代码编写2.2 wxml代码编写2.3 js代码编写2.3.1 登录接口获取: 2.4 j…

FPGA project : fifo_sum

实验目标: col(列) 4 ;line(行) 5。相邻三行,按列求和。输出新的数据流。 实现方法: 通过rs232通信协议,输入数据流。第一行存进fifo1,第二行存进fifo2.当输入第三行第一个数据的时候,从fif…

RHCE---作业2

文章目录 目录 文章目录 一.远程连接服务器 二.基于域名和虚目录建立网站 一.远程连接服务器 配置 ssh 免密登陆:客户端主机通过 redhat 用户基于秘钥验证方式进行远程连接服务器的 root 用户 #服务端关闭防火墙 [roottimeserver ~]# systemctl disable --now fir…

一文掌握Linux系统信息查看命令(CPU、内存、进程、网口、磁盘、硬件)

引言 大家好,欢迎来到我的技术博客!如果你是一名Linux系统管理员、开发者或者热衷于学习Linux系统的用户,那么你一定需要掌握查看系统信息的命令。在这篇博客中,我将为你介绍一些常用的Linux命令,帮助你快速了解和监控…