java基础-什么是方法,方法的定义和调用,方法的重载,方法的内存

一、什么是方法

方法method是程序中最小的执行单元。

在实际开发中,可以将重复的代码、具有独立功能的代码抽取到方法中,这样可以提高代码的复用性和可维护性

二、方法的定义(打包)和调用

注意:方法要写在main主方法的外面(在main方法外面定义)。

1、最简单的方法定义和调用

//最简单的方法定义格式
public static void 方法名(){
    方法体内容;  
}
//调用,调用之前一定要先定义
方法名();

2、带参数的方法定义和调用

形参:方法定义中的参数,也就是方法名旁边括号中的参数。

实参:方法调用的参数,也就是方法体中的参数。

注意:在方法中,形参和实参的数据类型一定要一致

//带参数的方法定义
public static void 方法名(数据类型 变量名){
     方法体内容;  
}
//例如:
public static void method(int x,int y){
     System.out.print(x+y);
}
//调用
method(1,2);

3、带返回值的方法定义和调用

//带返回值的方法的定义
publict static 返回值类型 方法名(参数){
   方法体内容;
   return 返回值;
}
//例如:
public static int getSum(int a,int b){
    int c=a+b;
    return c;
}

当方法有返回时,调用也分为直接调用、赋值调用、输出调用

//直接调用
方法名(实参);
//赋值调用
整数类型 变量名=方法名(实参);
//输出调用
System.out.print(方法名(实参));

三、方法的重载

1、什么是重载

同一个类中,方法名相同,形参不同的方法。与返回值无关。

形参不同:个数不同,类型不同,顺序不同,满足其一即可。

 2、方法重载练习

练习1

public static void main(String[] args) {
        //需求:使用方法重载的思想
        //定义一个数组,要求输出[1,2,3,4,5]
        int[] arr = {1, 2, 3, 4, 5};//静态初始化数组
        
        //调用
        setArr(arr);
    }

    public static void setArr(int[] arr) {
        System.out.print("[");
        for (int i = 0; i < arr.length; i++) {
            if (i == arr.length - 1) {
                System.out.print(arr[i]);
            }else {
                System.out.print(arr[i]+",");
            }
        }
        System.out.print("]");
    }

练习2

public static void main(String[] args) {
        /**
         * 需求:定义一个方法copyOfRange,
         * 将数组arr从索引from(包含from)开始,
         * 到索引to结束(不包含to)的元素复制到新数组中,
         * 将新数组返回。
         * **/
        //定义数组
        int[] arr={1,2,3,4,5,6,7};
        int[] copyArr= copyOfRange(arr,2,4);
        //遍历数组
        for (int i=0;i<copyArr.length;i++){
            System.out.print(copyArr[i]+" ");
        }
    }
    private static int[] copyOfRange(int[] arr,int from,int to) {
        int[] arr2=new int[to-from];
        //伪造索引
        int index=0;
        for (int i=from;i<to;i++){
            arr2[index]=arr[i];
            index++;
        }
        return arr2;
    }

四、方法的内存原理

栈:方法运行时使用的内存,方法进栈运行,运行完毕就出栈。

堆:new出来的,都会再堆内存中开辟一个小空间。

方法区:可以运行的class文件。

1、方法调用的基本内存原理

 2、基本数据类型和引用数据类型

基本数据类型:数据值是存储在自己的空间,是直接存储在栈里面的,当变量赋值给其他变量时,会重新在栈中开辟一个新的空间给这个新的变量存储值。

比如:int a=10;

int b=a;这时,int b会在栈内存中重新开辟一个空间存储10这个实际的值,当我们修改int b=9时并不会影响int a。

基本数据类型有整数类型(byte、short、int、long)、浮点类型(floate、double)、字符类型char、布尔类型。

引用数据类型:凡是用到new的都是引用数据类型,数据值是存储在其他空间。存储在堆内存中。

 

posted on 2023-05-05 20:42  ×不知该怎么√  阅读(27)  评论(0编辑  收藏  举报

导航