#方法的调用与定义
一.方法的定义:
定义方法的5个要素是修饰符,返回值类型,方法名,参数列表,方法体。
JAVA语言中方法定义的语法格式如下:
<修饰符><返回值类型><方法名>([参数类型参数名], …){
//方法体代码
}
//定义无返回值,无参数方法
void say(){}
//定义无返回值,有参数的方法
void print(String name){}
//定义有个返回值,有参数的方法
int sum (int num1,num2){
return num1+num2;}
二.定义方法时需要注意以下语法要求:
1.必须声明返回值类型
2.若不需要返回数据,将返回值类型声明为void,否则可通过return返回
3.如想在main方法中直接调用A方法,则A方法必须声明为static
三.方法的调用
语法格式如下:
方法名([参数1],…);
方法调用时需要注意以下语法现象:
1.方法被调用时,传给被调用方法的实参类型需要和方法定义的形参类型相匹配
2.方法调用语句所处的上下文环境要和方法定义的返回值类型相匹配
3.如果在主方法中,直接调用自定义方法,需要关键字static修饰
四.构造方法重载
方法重载就是方法名一样但是方法参数不同。
方法参数不同是指参数类型或者参数个数不同
构造方法重载,既写多个参数不一样的构造器
##递归
递归的含义:
程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程
或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个
与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计
算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归解决问题的特点:
【1】递归就是方法里调用自身。
【2】在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。
【3】递归算法代码显得很简洁,但递归算法解题的运行效率较低。所以不提倡用递归设计程序。
【4】在递归调用的过程中系统为每一层的返回点、局部量等开辟了栈来存储。递归次数过多容易造成栈溢出
等,所以一般不提倡用递归算法设计程序。
【5】在做递归算法的时候,一定把握出口,也就是做递归算法必须要有一个明确的递归结束条件。这一点是
非常重要的。其实这个出口就是一个条件,当满足了这个条件的时候我们就不再递归了。