6.1 方法的定义
方法是一段可以被重复调用的代码块。
定义:
访问修饰符 返回类型 方法名(参数列表){
方法体;
}
实例:
public static void main(String[] args) {
int r = method(1,2);
System.out.println(r);
int r1 = method(3,4);
System.out.println(r1);
}
//a b形参
public static int method(int a , int b){
return a+b ;
}
注意:
1,方法不能定义在方法里面
2,返回–》输出 参数—》输入
3,当没有类型的时候用void,如果有返回类型,则必须在方法体中 通过return对应类型的值回去
4,return会直接结束方法体,将值传递回去。
5,方法的调用 : 方法名(参数值);
6,参数列表:定义的时候是形参,调用的时候实参
7,方法调用的时候,实参跟形参要一一对应(个数,类型,顺序)
8,方法的定义是没有顺序的
9,public static void main(String[] args)是特殊的方法,入口的功能
10, 如果方法有返回类型,则方法中所有分支都必须有对应的返回值
11,方法的命名一般采用小驼峰命名规则 helloWorldBye HelloWorldBye
例题:
编写方法,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出。
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入圆的半径:");
double r = input.nextDouble();
area(r);
perimeter(r);
}
public static void area(double r){
double a = 3.14 * r * r ;
System.out.println("圆的面积是:"+a);
}
public static void perimeter(double r){
double p = 3.14 * 2 * r;
System.out.println("圆的周长是:"+p);
}
6.1 方法的递归
定义:指的是一个方法自己调用自己的方式。
//请递归计算1-100的累加和
public static void main(String[] args) {
System.out.println(diGui(100));
}
public staticint diGui(int n){
if(n == 1){
return 1;
}
return diGui(n-1) + n ;
}
-
递归结构包括两部分:
递归头:声明时候不调用自身方法。如果没有头,将陷入死循环
递归体:声明时候需要调用自身方法 -
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复制的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合