Java 方法

方法的概念

方法就是将功能重复的代码封装成一段独立的小程序,通过调用方法的方式以提高代码的复用性(减少代码重复)

int year = 2020;
if ( year % 4 == 0  && 
      year % 100 != 0 || year % 400 == 0)  {
            System.out.println(year + "是闰年!");
}


year = 2052; 
if ( year % 4 == 0  && 
      year % 100 != 0 || year % 400 == 0)  {
            System.out.println(year + "是闰年!");
}

当需要判断两个年份是否为闰年时,以上代码存在代码重复。

方法的定义

返回值类型 方法名 (参数类型 形式参数1,参数类型 形式参数2,…) {
        执行语句块;
        return 返回值;
}

  • 返回值类型: 方法输出数据的类型(如果方法没有返回值,则用关键字 void 来表示)

  • 方法名:类似变量名,可以自定义方法名(需符合 Java 标识符规则)

  • 形式参数:变量(用于存储调用方法输入的数据)

  • 实际参数:调用方法输入的数据

  • 返回值: 调用方法返回的数据

注意:main 方法是一个特殊方法,它是程序的入口方法,执行程序时会 JVM 会调用 main 方法。

案例

获取 2 个整数中的较大的数

public static int getMax(int left, int right) {
        int max = 0;
        if (left > right) {
            max = left;
        } else {
            max = right;
        }
        return  max;
    }

方法的调用

  • 方法中可以调用其他方法

  • 方法中不能嵌套定义方法

int numA = 20;
int numB = 30;
int max = getMax(numA, numB);  //调用定义的 getMax 方法,并将返回值赋给 max 变量

局部变量

局部变量指在方法中声明的变量,其作用范围仅限于方法中(局部变量在使用前必须进行初始化)

局部变量的特点
  • 生存时间:局部变量的生存时间和方法的生存时间一致,调用该方法声明该局部变量并初始化的时,该局部变量被创建并分配内存空间;直到该方法调用结束局部变量也就结束

  • 是否需要初始化:局部变量在使用前必须进行初始化,系统默认不会对局部变量进行初始化数据操作,如果局部变量在使用前没有进行初始化则会在编译器报错;如果局部变量进行了声明没有进行初始化, 但是也一直没有被使用的话编译也是不会报错的

  • 创建位置: 局部变量是创建在内存的栈区中

注意:main 方法也是方法,所以定义在 main 方法中的变量也是局部变量

形参与实参

  • 形参:方法中定义的数据类型变量

  • 实参:调用方法输入的变量或常量值

形参与实参是具有相同数据类型的不同变量,都存储于内存的栈区

内存划分

Java 内存划分区域:

  • 栈区:变量(基本类型变量和引用类型变量)

  • 堆区:对象(new 引用类型)

注意:内存划分为不同的区域,目的是便于数据的存储,提高同一类型数据的存取效率

方法的重载

方法的重载指的是在同一个类中,有一个以上的同名方法,但方法的参数个数或参数类型有所不同(与方法的返回值无关)

方法的重载存在的原因:为了增强方法的阅读性,优化程序设计

posted @ 2020-08-27 11:21  Binge-和时间做朋友  阅读(78)  评论(0编辑  收藏  举报