方法重载与可变参数与递归
方法重载与可变参数与递归
- 举例说明:
//方法有修饰符,返回值类型,方法名,参数类型,参数名
public static int name(int a,int b){//这里是形参,主方法内调用并给真实传递的才是实参
//方法体
return a+b;
}
- 有返回值类型的,一般会被main方法调用去返回一个值,返回值类型为空的,方法一定是一条语句
有返回值参数的方法,一般被调用一般会被当做一个值,可以直接sout输出,也可以返回一个值在输出,一般直接sout输出值
方法的重载
-
在一个类中,有相同的方法名,但参数列表不同
-
方法名相同,参数列表不同(个数不同,类型不同,顺序不同),返回值类型可同可不同
不定项参数(可变参数)
- 例如:
//可变参数的本质就是数组,所以我们要输出a的元素时需要用a[0],a[1]...
public static int name(int... a){
}
递归(能不用则不用,主要学习递归思想)
- 递归头:什么时候不调用此方法,就是要有尽头,不然会陷入死循环
- 递归体:什么时候需要调用自身
- 例如:
//当程序执行到f(1)的时候,就会结束,真正结束,会返回一个整数,在这里f(1)就是递归头
public static int f(int n){
if (n==1){
return 1;
}else{
return n*f(n-1);
}
}
/*
递归说白了就是方法有尽头的自身调用自身,所以我们要想办法让它有尽头
递归就是把方法往栈中一层层的压,所以对于那些嵌套层次比较深的算法,递归就不行了,因为会占用大量内存,造成内存奔溃。
递归适用于一些小计算
Java都是使用栈机制的
*/
树越是向往高处的光亮,它的根就越要向下,向泥土向黑暗的深处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?