什么是方法?

解决事情的办法,具有特定功能的代码块。

方法的特点?

1)方法不调用不执行。

2)写在类中主方法外,方法不可以嵌套。

方法的定义?

有返回值的方法

修饰符 返回值类型 方法名([参数列表]){

方法体的语句;

return 返回值;

}

修饰符:访问权限的修饰符 如:public static

返回值类型:方法执行完毕后,返回值的数据类型

基本数据类型和引用数据类型。

方法名:要符合标识符的命名规范

方法的调用就是调用方法名。

参数列表:参数可以有,可以没有,也可以有多个

格式:数据类型 参数名1 ,数据类型 参数名2

参数 :形式参数(形参):定义方法时()中的参数

实际参数(实参): 调用方法时()中的参数

实参要与形参一一对应 (位置 顺序 类型)

{ } :大括号中是具有特定功能的代码块

return: 1)提前结束方法

2)带出返回值

方法的调用:

有返回值类型的方法

1.直接调用 (有返回值的方法在使用直接调用时调不出返回值,只能调出方法体语句。)

方法名(实参);

2.赋值调用

数据类型 变量名 = 方法名(实参);

3.输出调用

System.out.println(方法名(实参));
//定义PI
//需要返回值
public static double getPI(){
System.out.println("有返回值的方法");
return 3.1415926
}
//在方法中调用
//直接调用
getPI(); //有返回值的方法
//赋值调用
double d = getPI();
System.out.println(d); //有返回值的方法 3.1415926
//输出调用
System.out.println(getPI());
没有返回值的方法
没有返回值类型的方法定义:
修饰符 void 方法名([参数列表]){
方法体语句;
[return];
}

void: 标识没有返回值类型的方法

return: 提前结束方法

没有返回值类型的方法调用:

1.直接调用

return (方法)

有返回值的方法: 1.带出返回值 2)提前结束方法

没有返回值的方法: 提前结束方法

不可达语句:

1.return的后面出现的语句,叫做不可达语句

2.break后

3.死循环后的代码

4.continue

5.while(false)

方法的重载

写在同一个类中

多个方法,方法名相同

参数列表不同(方法签名不同)

参数的个数不同

参数的数据类型不同

不同类型的参数顺序不同

方法签名:方法名+参数列表 (区分一个方法的唯一)

重载方法只和方法名+参数列表相关

调用重载方法:匹配不同的实参就可以

方法的重载和修饰符的无关

方法的重载和有无反回值无关

方法的重载和返回值类型无关

方法的重载和参数的名字无关

一个方法的重载特性,是一类中多态的一种体现

一个类中方法是封装的一种体现

递归:

方法内部自己调用自己 (了解)

不推荐使用,容易内存溢出

递归头: 停止自己调用自己的条件

递归体: 自己调用自己

临界条件: 停止自己调用自己的条件

递归前进段:到达临界条件之前一致自己调用自己

递归后推段:从临界条件开始,把结果返回给调用的上一层