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

JAVASE---方法的使用

方法概念及使用

什么是方法(method)

方法就是一个代码片段. 类似于 C 语言中的 "函数"。方法存在的意义(不要背, 重在体会):
1. 是能够模块化的组织代码(当代码规模比较复杂的时候)。
2. 做到代码被重复使用, 一份代码可以在多个位置使用。
3. 让代码更好理解更简单。
4. 直接调用现有方法开发, 不必重复造轮子。

方法定义

// 方法定义
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}

方法调用的执行过程

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

实参和形参的关系(重要)

方法的形参相当于数学函数中的自变量,比如:1 + 2 + 3 + … + n的公式为sum(n) =Java中方法的形参就相当于sum函数中的自变量n,用来接收sum函数在调用时传递的值的。形参的名字可以随意取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值。 

public static int getSum(int N){ // N是形参
return (1+N)*N / 2;
} g
etSum(10); // 10是实参,在方法调用时,形参N用来保存10
getSum(100); // 100是实参,在方法调用时,形参N用来保存100

方法重载

方法重载概念

在自然语言中,经常会出现“一词多义”的现象,比如:“好人”。

 

 在自然语言中,一个词语如果有多重含义,那么就说该词语被重载了,具体代表什么含义需要结合具体的场景。在Java中方法也是可以重载的。

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

public class TestMethod {
public static void main(String[] args) {
add(1, 2); // 调用add(int, int)
add(1.5, 2.5); // 调用add(double, double)
add(1.5, 2.5, 3.5); // 调用add(double, double, double)
}
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;
}
}

注意:
1. 方法名必须相同
2. 参数列表必须不同(参数的个数不同、参数的类型不同、类型的次序必须不同)
3. 与返回值类型是否相同无关

递归

递归的概念

一个方法在执行过程中调用自身, 就称为 "递归".
递归相当于数学上的 "数学归纳法", 有一个起始条件, 然后有一个递推公式.

递归的必要条件:
1. 将原问题划分成其子问题,注意:子问题必须要与原问题的解法相同
2. 递归出口

http://www.lryc.cn/news/114176.html

相关文章:

  • CryptoJS.lib.WordArray.create、CryptoJS.enc.Base64介绍
  • linux 配置java环境变量
  • Mybatis异常Invalid bound statement (not found)原因之Mapper文件配置不匹配
  • SAP中采购文档出现定价转换因子字段溢出是何原因?
  • Linux6.33 Kubernetes kubectl详解
  • 小程序uni-select溢出文字处理方式
  • 【MacOS】mac OS 安装HP 打印机驱动 hp laserjet m1213nf mfp
  • 【搜索】DFS剪枝与优化
  • dfs之卒的遍历
  • Springboot整合activiti5,达梦数据库,mybatis中间件
  • 使用Python + Flask搭建web服务
  • Winform 打开文件夹、文件、拖拽上传
  • 热评国内AI四小龙:此一时彼一时,彼此彼此
  • [国产MCU]-BL602开发实例-GPIO控制
  • Firefox 配置 Burp_proxy 和 证书
  • 基于Java+SpringBoot+Vue前后端分离仓库管理系统详细设计和实现
  • PyTorch Lightning教程七:可视化
  • 后端开发2.mongdb的集成
  • Unity面板究极优化
  • C# App.config和Web.config加密
  • 力扣:50. Pow(x, n)(Python3)
  • scikit-plot 使用笔记
  • 2024考研408-计算机网络 第五章-传输层学习笔记
  • 【JS】一道解构面试题
  • 24v转3.3v输出3A用什么芯片
  • 在Linux中安装lrzsz(yum命令使用)
  • 机器学习基础08-回归算法矩阵分析(基于波士顿房价(Boston House Price)数据集)
  • [英语单词] password, passphrase, passport.... paraphrase
  • windows(iis)服务器部署安装wordpress(php)网站教程
  • ETCD备份还原