什么是方法?
解决事情的办法,具有特定功能的代码块。
方法的特点?
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)
方法的重载
写在同一个类中
多个方法,方法名相同
参数列表不同(方法签名不同)
参数的个数不同
参数的数据类型不同
不同类型的参数顺序不同
方法签名:方法名+参数列表 (区分一个方法的唯一)
重载方法只和方法名+参数列表相关
调用重载方法:匹配不同的实参就可以
方法的重载和修饰符的无关
方法的重载和有无反回值无关
方法的重载和返回值类型无关
方法的重载和参数的名字无关
一个方法的重载特性,是一类中多态的一种体现
一个类中方法是封装的一种体现
递归:
方法内部自己调用自己 (了解)
不推荐使用,容易内存溢出
递归头: 停止自己调用自己的条件
递归体: 自己调用自己
临界条件: 停止自己调用自己的条件
递归前进段:到达临界条件之前一致自己调用自己
递归后推段:从临界条件开始,把结果返回给调用的上一层