方法

概念

概念:实现特定功能的一段代码,可反复使用。

定义

定义语法:

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的两种用法:

  1. 应用在具有返回值类型的方法中:
return value; //表示结束当前方法,并伴有返回值,返回到方法调用处。
  1. 应用在没有返回值类型(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 内存溢出

总结

注意:一个类中可以定义多个方法,方法之间属于并列关系,不可嵌套。
经验:一个方法只做一件事。
好处:

  1. 减少代码冗余
  2. 提高复用性
  3. 提高可读性
  4. 提高可维护性
  5. 方便分工合作