方法就是一个代码片段. 类似于 C 语言中的 “函数”,方法有许多好处:
修饰符 返回值类型 方法名称([参数类型 形参 ...]){
方法体代码;
[return 返回值];
}
比如要实现一个两个整数相加的方法
// 方法的定义
//修饰符是public,返回值类型int,方法名称add,参数类型是int,int ,方法体代码是return x+y
public static int add(int x, int y) {
return x + y;
}
注意事项: 1.修饰符:现阶段直接使用public static 固定搭配 2. 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,必须写成 void 3. 方法名字:采用小驼峰命名 4. 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开 5. 在java当中,方法必须写在类当中 6.在java当中,方法不能嵌套定义 7.方法不用写在main函数之前,写在main之后也可以,但一定要写在类里面. |
java中方法的形参就相当于下图代码中的自变量N,用来接收函数在调用时传递的值的。形参的名字可以随意取,对方法都没有任何影响,形参只是方法在定义时需要借助的一个变量,用来保存方法在调用时传递过来的值.
public static int getSum(int N){ // N是形参
return (1+N)*N / 2;
}
getSum(10); // 10是实参,在方法调用时,形参N用来保存10
getSum(100); // 100是实参,在方法调用时,形参N用来保存100
在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. 与返回值类型是否相同无关 |
//下面的代码就无法构成重载,因为重载与返回值类型无关,写了两个相同的函数
public static int add(int x, int y) {
return x + y;
}
public static double add(int x, int y) {
return x + y;
}
}
递归就是自己中又包含了自己,需要将原问题拆分成其子问题之后,子问题与原问题有相同的解法,等子问题解决之后,原问题就迎刃而解了.
比如我们要求一个数的阶乘
public static int factor(int n){
if (n == 1) {
return 1;
}
int ret = n * factor(n - 1);
return ret;
}
public static void main(String[] args) {
int n = 3;
int ret = factor(n);
System.out.println("ret = " + ret);
}