一、
方法的声明和调用
方法: 也叫函数,是一个类中最基本的功能单元,是一个功能的定义。
1. 方法的格式:
例如:
public class TestMethod{
public static void main(String[] args){
int res = result(10, 15.6, null);//实际参数:
System.out.println(res);
}
public static int result(int a, double d, String str){ //形式参数 : 用于接收调用者传递实际参数的值
return a * 2 + 1;
}
}
2. 方法的注意:
①“返回值类型”与“返回值”的数据类型需要保持一致!
② 当调用方法时,传递的实际参数与形式参数必须保持一致(参数的个数、参数的类型)
③ 若声明了 “返回值类型”说明该方法运行后返回一个结果,若调用者需要用到该结果,可以声明一个变量接收
④ 若方法运行后不需要返回结果给调用者时,“返回值类型”处声明为 void,
表示无返回值。
⑤ 方法中不能声明方法,可以调用其他方法
① 确定方法运行后是否需要返回结果给调用者
明确是否需要返回值,返回值类型是什么
② 确定是否有未知的数据参与运算
明确是否需要参数列表,需要几个?
二.参数的值传递
按值传递和按引用传递。按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本。因此,如果函数修改了该参数,仅改变副本,而原始值保持不变。按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,调用代码中的原始值也随之改变。
1.基本数据类型:将基本数据类型作为参数,传递给方法,方法运行结束后,原值不会发生改变
public static void main(String[] args){
int a = 10;
int b = 20;
add(a, b);
System.out.println("a=" + a + " b=" + b); //a=10, b=20
}
public static void add(int a, int b){
a += 1;
b += 2;
System.out.println("a=" + a + "b=" + b); //a=11 b=22
}
2.引用传递:将
引用
数据类型作为参数,传递给方法,方法运行结束后,原值会发生改变
public static void main(String[] args){
StringBuffer s= new StringBuffer("good");
StringBuffer s2=s;
s2.append(" afternoon.");
System.out.println(s);
}
说明:String类型因为没有提供自身修改的函数,每次操作都是新生成一个String对象,所以要特殊对待。可以认为是传值。