Java SE入门(五)——方法

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/

猜你喜欢

转载自www.cnblogs.com/iwehdio/p/12202317.html