Java中方法的定义传参重载与递归
Posted SSimeng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中方法的定义传参重载与递归相关的知识,希望对你有一定的参考价值。
一、方法的定义
每个对象都有自己的行为,比如一只狗会跑会跑会叫等,我们把这些行为称之为方法,是动态的,可以使用这些方法来操作一个对象。
那么方法是怎样定义的呢?具体格式如下:
修饰符 返回值类型 方法名([参数类型 参数名1, 参数类型 参数名2, ...])
{
执行语句;
[return 返回值;]//若没有返回值,返回类型为void
}
方法定义示例如下(此处返回int类型):
/**
* 方法为求两个数之和
* @param a
* @param b
* @return
*/
public int twoSum(int a,int b) {
System.out.println("求两个数的和这个方法调用了呦!");
return a+b;
}
二、方法的参数
参数有“实参”和“形参”之分哦!那什么是形参,什么是实参呢?
执行者调用对象时传的是实参,方法接收的是形参。
形参和实参:
/**
* 形参和实参
* @author 蒙新
*
*/
public class TandV {
/**
* 方法为求两个数之和
* @param a
* @param b
* @return
*/
public static int twoSum(int a,int b) {
System.out.println("求两个数的和这个方法调用了呦!");
return a+b;
}
public static void main(String[] args) {
int x=3,y=5;
int sum=twoSum(x, y);//调用方法传参
System.out.println(sum);
}
}
总结:此时x和y就是实参,a和b就是形参。把x的值3赋给了a,把y的值5赋给了b。
注意:在有些方法中会牵扯对形参的数据进行操作,有时会改变形参变量的值,但是不会影响实参的值哦!
三、方法的重载
重载的定义:
同一个类中,
包含了两个或两个以上方法名相同,
方法的参数不同(个数、顺序、类型),
这就是方法的重载。
注意:
方法的返回值不作为重载的依据,编码规范要求重载方法的返回类型相同
示例:
//方法的重载
public class TestOverLoad {
public static void main(String[] args) {
System.out.println(add(1, 2));
System.out.println(add(1, 2, 3));
}
/**
* 求两个数之和
* @param x
* @param y
* @return
*/
public static int add(int x, int y) {
return x + y;
}
/**
* 求三个数之和
* @param x
* @param y
* @param z
* @return
*/
public static int add(int x, int y, int z) {
return x + y + z;
}
}
四、方法的递归
递归的定义:递归就是自己调用自己。递归必须有结束条件,没有结束条件一定会发生栈内存溢出错误
常见的递归算法有:阶乘、斐波那契数列等。
(1)阶乘:
/*阶乘的递归算法*/
public long multiply(int n) {
if (n <= 1) {
return 1;
} else {
return n * multiply(n-1);
}
}
(2)斐波那契数列:
/**
* 递归算法
* 斐波那契数列第n项
* @param n
* @return
*/
public static int fib(int n) {
if (n == 1 || n == 2) {
return 1;
}
return fib(n - 1) + fib(n - 2); //本项等于前两项之和
}
以上是关于Java中方法的定义传参重载与递归的主要内容,如果未能解决你的问题,请参考以下文章