方法声明
修饰符 1 修饰符 2 … 返回值类型 方法名(形式参数表){
方法体各语句
}
如:public static int insert(int a){
return 0;
}
说明:
(1)任何方法定义均含小括号,无参方法小括号不含任何内容。
(2)修饰符包括方法的访问修饰符(如public)抽象方法修饰符,类方法修饰符等等。
(3)形式参数规定方法需要多少参数,每个参数的类型信息。
(4)返回值是在方法完成操作后返回调用它的环境的数据,返回值类型要与定义方法的类型一致。若不需返回值,则用void标识。
方法调用
需要执行方法时,按如下形式调用:
方法名(实际参数表)
注:实际参数可以是常量,变量,表达式。相邻的实参用逗号分割。实参个数,类型,顺序要与形参一致。
方法调用过程:首先将实参的值传递给形参,然后执行方法体,方法运行结束,方法结果返回给调用者,然后执行方法调用处的后续语句
参数传递
参数传递需注意以下两种情形
(1)对于基本数据类型的参数,其对应的内存单元存放的是变量的值,因此,它是将实参的值传递给形参单元,这种情况下,对形参和实参的访问操作的是不同的存储单元,因此,在方法内对形参数据的修改并不会影响实参。
(2)对于引用数据包类型的参数变量,实参和形参单元中存放的是引用地址,参数传递是将实参存放的引用地址传递给形参,这样,实参和形参应用的是同一对象或数组,因此,对形参所引用对象成员或数组元素的更改将直接影响实参对象或数组。
例:求n个数的最大值
public class Maxnumber {
public static int Max(int a[])//定义整型方法求最大值
{
int max=0;//记录最大值
for(int i=0;i<a.length-1;i++)
{
if(a[i+1]>a[i])
max=a[i+1];
else{
a[i+1]=a[i];
max=a[i];
}
}
return max;//返回最大值
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//输入数据
System.out.println("输入数的个数");
Scanner s=new Scanner(System.in);
int a=s.nextInt();
System.out.println("输入要比较的数");
int b[]=new int[a];
for(int i=0;i<a;i++) {
int c = s.nextInt();
b[i] = c;
}
System.out.println(Max(b));
}
}