方法
概念
概念:实现特定功能的一段代码,可反复使用。
定义
定义语法:
public static void 方法名称(){//遵循标识命名规范
//方法主题(功能代码)
}
经验:将需要在多个位置重复使用的一组代码,定义在方法内部。
定义的位置:方法定义在类的内部,与main方法并列。
调用
在需要执行方法代码的位置,通过方法名称进行调用。
注意:调用方法时,会优先执行方法内部代码,结束后,返回到方法调用处,继续向下执行。
示例:
public class Test{
public static void main(String[] args){
System.out.println("Qing__zi");
printSign();
System.out.println("Qing__zi");
printSign();
}
//定义printSign方法
public static void printSign(){
for(int i=1;i<10;i++){
System.out.println("-");
}
System.out.println();
}
}
方法的参数
调用方法时,所传入的数据被称为参数。
定义语法:
public static void 方法名称(形式参数){
//方法主体
}
形参等价于局部变量的声明,意味着没有赋值。
调用语法:
方法名称(实际参数);
实参等价于局部变量的赋值。
作用:方法的参数可以让代码功能更灵活,普适性更高,易于修改及维护。
方法的单参使用:调用带参方法时,传入实际参数,为形式参数赋值。
方法的多参使用:调用带参方法时,依次传入实参,类型、个数、顺序,必须与形参对应。
返回值和返回值类型
概念:方法执行后的返回结果。
方法执行后,一些情况下无需返回结果。一些情况下必须返回结果。
定义语法:
public static 返回值类型 方法名称(形式参数列表){//规定返回值的具体类型(基本、引用、void)
//方法主体
return value;//返回值 根据需求返回一个结果
}
调用语法:
变量=方法名称();//变量类型与返回值类型一致
一个方法只能有一个返回值。
当有返回值的方法存在分支结构时,必须保证每一条分支都具有正确的返回值。
return关键字
return的两种用法:
- 应用在具有返回值类型的方法中:
return value; //表示结束当前方法,并伴有返回值,返回到方法调用处。
- 应用在没有返回值类型(void)的方法中:
return; //表示结束当前方法,直接返回到方法调用处。
方法的多级调用与无穷递归
多级调用
示例:
public class Test{
public static void main(String[] args){
m1();
}
public static void m1(){
System.out.println("m1 -- start");
m2();
System.out.println("m1 -- end");
}
public static void m2(){
System.out.println("m2 -- start");
System.out.println("m2 -- end");
}
}
无穷递归
示例:
public class Test{
public static void main(String[] args){
m1();
}
public static void m1(){
System.out.println("m1 -- start");
m1();
System.out.println("m1 -- end");
}
}
当方法自己调用自己时,如果没有正确的出口条件,则产生无穷递归。
Exception in tread “main” java.lang.StackOverflowError 内存溢出
总结
注意:一个类中可以定义多个方法,方法之间属于并列关系,不可嵌套。
经验:一个方法只做一件事。
好处:
- 减少代码冗余
- 提高复用性
- 提高可读性
- 提高可维护性
- 方便分工合作