方法(函数)的使用
(重复使用的东西,我们将它写成一个方法,来进行调用)
定义:
语法:
返回值 方法名(参数列表){
方法体
return ;(return代表方法的结束 void 不用写return )
}
public class s4 {
public static int sum(int a, int b){//形参a,b
return a+b;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a = scanner.nextInt();//实参a
int b = scanner.nextInt();//实参b
int ret = sum(a,b);函数的调用
System.out.println("ret:"+ret);
}
注意事项:接受的数据类型要和方法的返回值是一样的;
方法的a,b是形参,下面的a,b是实参,两个是不一样。传参:实参给形参传值;
避免使用二重循环让代码更清晰
例如:求5!的和;
public static int sumFac(){
int num = 5;
int sum = 0;
for (int i = 1; i <= num ; i++) {
int fac = 1;
for (int j = 1; j <= i ; j++) {
fac *= j;
}
sum += fac;
}
return sum ;
}
public static void main(String[] args) {
int ret = sumFac();//接收返回值
System.out.println("ret:"+ret);
}
上面是双重循环代码容易写错。然后将上面的代码写成两个调用函数;如下:
public static int fac(int n){
int fac = 1;
for (int i = 1; i <= n ; i++) {
fac *= i;
}
return fac;
}
public static int sumFac(){
int num = 5;
int sum = 0;
for (int j = 1; j <= num ; j++) {
sum += fac(j);
}
return sum;
}
public static void main(String[] args) {
int ret = sumFac();
System.out.println("ret:"+ret);
}
方法的重载(overload)
满足的条件:
1.方法名相同
2.参数列表不同(类型或者个数不同等)
3.返回值不做要求,返回值不影响重载
ublic static int sum(int a,int b){
return a+b;
}
public static double sum(double a,double b){
return a+b;
}
public static void main(String[] args) {
int ret = sum(1,2);
System.out.println("ret:"+ret);
double ret2 = sum(13.66,56.12);
System.out.println("ret2:"+ret2);
}