方法的基本用法
什么是方法?
- Java语言中的“方法”(Method)在其他语言当中也可能被称为“函数”(Function)。
- 对于一些复杂的代码逻辑,如果希望重复使用这些代码,并且做到“随时任意使用”,那么就可以将这些代码放在一个大括号“{}”当中,并且起一个名字。使用代码的时候,直接找到名字调用即可。(其实与C语言的函数基本一致)
方法存在的意义
- 是能够模块化的组织代码
- 做到代码被重复使用,一份代码可以在多个位置使用
- 让代码更好理解更简单
- 直接调用现有方法开发,不必重复造轮子
方法的构成
- 修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的访问类型
- 返回值类型 :方法可能会返回值。returnValueType 是方法返回值的数据类型。有些方法执行所需的操作,但没有返回值。在这种情况下,returnValueType 是关键字void
- 参数类型:参数像是一个占位符。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数
- 方法名:是方法的实际名称。方法名和参数表共同构成方法签名。
- 方法体:方法体包含具体的语句,定义该方法的功能。
代码示范:
public class Test {
public static int add(int a,int b) {
int c=a+b;
return c;
}
public static void main(String[] args) {
int a=100;
int b=100;
int c=add(a,b);
System.out.println("c="+c);
}
}
注:通过上面的知识可知Java的方法无论是知识还是使用都与C语言高度相似。
方法的重载
方法重载是让类以统一的方式处理不同类型数据的一种手段。
方法重载:
- 1、同一个类中
- 2、方法名相同,参数列表不同(参数顺序、个数、类型)
- 3、方法返回值、访问修饰符任意
- 4、与方法的参数名无关
代码展示:由于参数类型不匹配,所以不能直接使用现有的add方法。 因此当遇到上面情况是,可以改写成这样,就行。
方法递归
什么是方法递归?
方法自己调用自己,这就是方法递归
当递归时程序没有结束条件,一定会发生:
- 栈内存溢出错误:stackOverflowError
- 所以:递归必须要有结束条件
注:由于Java的递归与C的递归基本一致,这里就不作过多阐述。
eg1:
public class Target {
public static int fun(int n) {
if(n==1) {
return 1;
}
return n*fun(n-1);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=0;
n=sc.nextInt();
int sum=fun(n);
System.out.println("sum="+sum);
}
}
eg2:
public class Target {
public static int add(int n) {
if(n==1) {
return 1;
}
return n+add(n-1);
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=10;
int sum=add(n);
System.out.println("sum="+sum);
}
}
eg3:
public class Target {
public static int fib(int b) {
if(b<=2) {
return 1;
}
return (fib(b-1)+fib(b-2));
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
int b=fib(a);
System.out.println("b="+b);
}
}
|