JAVA 方法
方法
java中的方法,在其他语言中也被称为函数
方法的组成
- 修饰符:修饰符是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型。
- 返回值类型:方法可能会返回值,而有些方法没有返回值。
- 方法名:是方法的实际名称。方法名和参数列表共同构成方法签名。
- 参数类型:当方法被调用时,传递值给参数。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。
- 方法体:方法体包含具体的语句,定义该方法的功能。
定义方法的基本格式
修饰符 返回值类型 方法名称(参数类型 参数名称 …){
方法体;
return 返回值;
}
注意:返回值必须和返回值类型对应,多个参数需使用逗号分隔。不能在方法内部定义方法。
方法的重载
对于参数列表不同的多个方法,如果设置不一样的的方法名称的话,在调用时会很麻烦,所以引入了方法重载。
方法的名称相同但是参数列表不同。
参数列表的不同包括:
- 参数的个数不同
- 参数的类型不同
- 参数的多类型顺序不同
public class HelloWorld {
public static void main(String[] args) {
System.out.println(add(5,6));
System.out.println(add(10.0F,20.0F));
}
public static int add(int a,int b){
return a+b;
}
public static float add(float a,float b){
return a+b;
}
}
输出为
11
30.0
可变参数的方法
J2SE 1.5中提供了Varargs机制,允许直接定义能和多个实参相匹配的形参。从而,可以用一种更简单的方式,来传递个数可变的实参。
- 在方法中定义可变参数后,我们可以像操作数组一样操作该参数。
- 如果该方法除了可变参数还有其他的参数,可变参数必须放在最后
- 调用使用了可变参数的方法时
- 可以不写参数,即参入空参
- 也可以直接在里边写入参数,参数用逗号隔开
- 可以传入一个数组
- 拥有可变参数的方法可以被重载,被调用时,能匹配到参数定长的方法优先调用参数定长的方法。
- 可变参数可以兼容数组参数,但数组参数无法兼容可变参数。
public class Test {
public static void main(String[] args) {
int[] Arrays={1,2,3,4,5};
Test hw = new Test();
hw.comp(1,2);
System.out.println("==============");
hw.comp(1,2,3);
System.out.println("==============");
hw.comp(Arrays);
}
public void comp(int... items){
System.out.println("1");
}
public void comp(int item1,int item2){
System.out.println("2");
}
}
方法的递归
递归三要素
-
递归方法的功能
-
递归方法的结束条件
递归方法必须有结束条件,否则方法会一直调用自己。
-
递归方法的等价关系式
例如求出某个数的阶乘
public class HelloWorld {
public static void main(String[] args) {
System.out.println(function(5));
}
public static int function(int n){
if(n==1) {
return 1;
}else {
return n*function(n-1);
}
}
}