1.Java方法的定义与使用
Java中的方法就是再主类中定义,并且由主方法调用的方法形式。
格式为:
public static 返回类型 方法名称([参数类型 变量]){
方法内的代码;
return 返回值;
}
返回类型有两类为:void,无返回值类型和数据类型
public class Demo01 {
public static void main(String[] args) {
//实际参数:实际调用传递给他的参数
int sum=add(1,2);
System.out.println("两数的和为:"+sum);
test();
}
public static int add(int a,int b){
//形式参数用于定义作用
return a+b;
}
public static void test(){
int oddSum=0;
int eventSum=0;
for (int i=0;i<=100;i++){
if(i%2!=0){
oddSum+=i;
}else{
eventSum+=i;
}
}
System.out.println("100内的奇数的和为:"+oddSum);
System.out.println("100内的偶数的和:"+eventSum);
}
}
对于add方法表示的是一个有返回值,有参数的方法。对于test方法表示的是一个无返回值,无参数的方法。
如果某一个方法使用了void定义,那么该方法可以直接使用return来结束调用
public class Demo07 {
public static void main(String[] args) {
print(10);
print(20);
}
public static void print(int x) { //定义方法
if(x == 20) //表示的是方法结束的判断
return; //此语句之后的代码不再执行
System.out.println("x = " + x);
}
}
对于本段代码,如不满足if条件,则直接返回。
2.Java方法的递归和调用
递归其实就是:自己调用自己。对同一递归就是一个循环结构,需要不断的调用自己,也就是要有一个递归的出口。对于递归,适合比较少的数据量,佛者会发生栈溢出引起内存泄漏。
public class Demo06 {
public static void main(String[] args) {
System.out.println(f(5));
}
public static int f(int n){
if(n==1){
return 1;
}else {//输入3 进入此步3*f(2)
return n*f(n-1);
}
}
}
120
结果即为5的阶乘,当输入n=1的时候结束递归。