话不多说先上图!方法的使用这块主要讲了方法的定义。基本用法、方法的重载、方法的递归,更多的还是要注重习题的练习,多写代码总是没错的。
方法:其实跟C语言中的函数类似,但是Java中没有函数声明这样的概念。
1.方法定义时,参数可以没有,但每个参数都要指定类型;
2.方法定义时,返回值也可以没有,如果没有返回值,返回值要写为void;
3.方法定义时的参数称为“形参”,方法调用时的参数称为“实参”。
代码示例:方法实现两个整数相加
public class Test {
public static void main(String[] args) {
int a = 20;
int b = 30;
int ret = add(a,b);
System.out.println(ret);
}
public static int add(int x,int y) {
return x+y;
}
}
用方法计算1!+2!+3!+5!+5!
public class Test {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <= 5;i ++) {
sum += fac(i);
}
System.out.println(sum);
}
public static int fac(int i) {
int result = 1;
for(int j = 1; j <= i; j++) {
result *= j;
}
return result;
}
}
避免了二重循环,让代码简单清晰。
在Java中,只有按值传递,引用(地址)其实也是一个值,传引用类型参数,可以交换两个数的值,代码如下:
public class Test {
public static void main(String[] args) {
int[] arr = {10,20};
swap(arr);
System.out.println("a = " + arr[0] + " " + " b = " +arr[1]);
}
public static void swap(int[] arr) {
int tmp = arr[0];
arr[0] = arr[1];
arr[1] = tmp;
}
}
函数的重载:
针对同一个类
方法名相同,参数不同,返回值没有规定。示例如下:
public class Test {
public static void main(String[] args) {
int a = 20;
int b = 30;
int ret1 = add(a,b);
System.out.println("ret1 = " + ret1);
int x = 10;
double y = 12.5;
double ret2 = add(x, y);
System.out.println("ret2 =" + ret2);
double i = 2.3;
double j = 4.5;
double ret3 = add(i,j);
System.out.println("ret3 = " + ret3);
}
public static int add(int x,int y) {
return x + y;
}
public static double add(int x,double y) {
return x + y ;
}
public static double add(double x,double y) {
return x + y;
}
}
方法的名字都是add,但是有的是两个int型相加,有的是两个double相加,有的是一个int一个double相加,只要传参正确,类型正确,方法不会出错,这种同一个方法名字,不同的版本实现,称为方法重载。
递归的条件,要调用自己本身,要有一个趋近于终止的条件。着重要进行练习。