今天在黑马学习了 方法method
概述
是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集
注意:
方法必须先创建才可以使用,该过程称为方法定义
方法创建后并不是直接运行的,需要手动调用后才能使用 不调用不运行
方法必须先定义后调用,否则会报错
方法和方法是平级关系
定义和调用
定义格式:
public static void 方法名(){
//方法体;
}
调用格式:
方法名();
带参数的方法定义和调用
定义格式:public static void 方法名(数据类型 变量名){... ...}
注意:
方法定义时,参数中的数据类型与变量名都不能缺少,缺少任意一个程序将报错
方法定义时,多个参数之间使用逗号分隔
调用:方法名(参数);
方法名(变量名/常量);
方法的参数列表既可以接收基本数据类型,也可以接收引用类型
形参和实参
形参:方法定义中的参数 等同于变量定义格式
实参:方法调用中的参数 等同于使用变量或常量
形参与实参数量要相同
带返回值方法的定义和调用
定义格式:
public static 数据类型 方法名(参数){
方法体;
return 数据;
}
方法定义时 数据类型要与后面的返回值类型一致,否则会报错
调用:数据类型 变量名 = 方法名(参数);
输出调用或赋值调用
注意:如果方法运行结束有结果产生 那么方法的返回值类型必须声明为一个具体的类型 不能再使用void void表示该方法没有结果 并且在方法的最后应该使用retuen语句返回结果 返回给方法的调用者
没有返回值的方法不能使用输出调用,也不能赋值调用,只能单独调用
注意事项
方法不能嵌套定义
void表示无返回值,可以省略return,也可以单独书写return,后面不加数据
return如果单独使用表示结束当前正在执行的方法
方法的通用格式
public static 返回值类型 方法名(参数){
方法体;
return 数据;
}
public static 修饰符
返回值类型 方法操作完毕之后返回的数据的数据类型
方法名 调用方法时使用的表示
两个明确
明确返回值类型 主要是明确方法操作完毕之后是否有数据返回
明确参数 主要是明确参数的类型和数量
调用方法时
void类型的方法 直接调用即可
非void类型的方法,推荐使用变量接收调用
方法重载
概述:
指同一个类中定义的多个方法之间的关系,多个方法在同一个类中,多个方法具有相同的方法名,多个方法的参数不同,类型不同或数量不同
特点:
重载进对应方法的定义,与方法的调用无关,调用方式参照方法参数
与返回值无关
在调用的时候Java虚拟机会通过参数的不同来区分同名的方法
在方法的参数列表中定义 数据类型... 参数名(args)是一个数组
传入参数的个数是0-N个,解决参数数量未知的情况
超市营收额
public static int sum(int... args){//可变长参数
int sum = 0;
for(int i = 0;i < args.length; i++){
sum += args[i];
}
return sum;
}
方法参数传递
基本类型
对于基本数据类型的参数,形式参数的改变,不影响实际参数的值
引用类型
对于引用数据类型的参数,形式参数的改变,影响实际参数的值
方法可以返回数组,当方法返回值结果是数组时 方法返回值格式:数据类型[]
方法的递归调用
递归:方法自己调用自己
StackOverflowError 方法只进不出就会抛出栈内存溢出错误
递归调用一定要有出口 结束条件 |
|