Java SE入门(五)——方法
iwehdio的博客园:https://www.cnblogs.com/iwehdio/
1、方法
解决代码重复的问题,是完成特定功能的代码块
- 定义格式:
//定义格式
/*
修饰符 返回值类型 方法名(参数类型 参数1,参数类型 参数2,...){
方法体;
return 返回值;
}
修饰符:如public static;
返回值类型:返回值的数据类型;
参数类型:调用方法时,传入的数据类型
*/
public static int sum(int a,int b){
int c = a + b;
return c;
}
- 写方法前:
- 明确返回值类型,明确功能结果的数据类型。
- 明确参数列表,明显参数的个数和类型。
- 方法调用
- 只有明确返回值的方法调用:单独调用没有意义,可以输出调用,应该赋值输出。
- 求和方法及调用
public static void main(String[] args) {
int res = sum(10,20);
System.out.println(res);
}
public static int sum(int a, int b){
int c = a + b;
return c;
}
void修饰符
- 用于没有明确返回值类型的方法,表示无返回值。
- 调用时只能单独调用。
方法的参数如果是基本数据类型,形式参数的改变不影响实际参数。
- 实际参数:实际参与运算的变量。
- 形式参数:方法中用于接收实际参数的变量。
方法区存储了类的字节码文件,其中包含了类下的方法。
- 调用时方法加载到栈内存。
- 方法调用完成后,从栈内存中消失。
方法的参数如果是引用数据类型,形式参数的改变直接影响实际参数。
方法的参数是引用数据类型(如数组)时,方法接收的实际上是数组的地址,对数组进行操作直接改变了数组地址指向的堆内存中的数组的值。
数组求和
public static void main(String[] args) { int[] arr = {5,6,7,8,9}; System.out.println(sumarr(arr)); } public static int sumarr(int[] arr){ int sum = 0; for(int i=0;i<arr.length;i++){ sum += arr[i]; } return sum; }
2、重载
同一个类中出现了方法名相同的现象
方法名相同,且参数列表不同(参数的个数不同或参数对应的数据类型不同)。
与返回值无关。
在调用方法时,Java通过参数列表不同来区分方法。
可以通过强制转换来调用不同的重载方法。
不同类型数组求和(重载)
public static void main(String[] args) { System.out.println(sum(2,3)); System.out.println(sum(2.2F,2.1F)); } public static int sum(int a,int b){ return a + b; } public static float sum(float a, float b){ return a + b; }
iwehdio的博客园:https://www.cnblogs.com/iwehdio/