方法的重载

方法的重载

  • 在同一个类中,定义了多个同名的方法,这些同名方法名具有同样的功能
  • 每个方法具有不同的参数类型或者参数个数,这些同名的方法就构成了重载关系。
    简记:同一个类中,方法名相同,参数不同的方法。与返回值无关
    参数不同:个数不同、类型不同、顺序不同

判断下列方法是否构成重载关系
方法的重载_第1张图片

  • 第一个:与返回值无关,所以不构成
  • 第二个:构成,参数个数不同
  • 第三个:不构成 ,因为不在同一个类中
  • 第四个:构成,参数类型不同

联系:
遍历数组{1,2,3,4,5,6}输出为[1,2,3,4,5,6]


public class Test1 {
    public static void main(String[] args) {
        int[] arr = {1,2,3,4,5,6};
        getArr(arr);
    }
    public static void getArr(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) {
        int[] arr = {3524, 42, 432, 134, 43, 13, 41};
        int x = getMax(arr);
        System.out.println(x);

    }

    public static int getMax(int[] arr) {
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > arr[0]) {
                max = arr[i];
            }
        }

        return max;
    }
}

练习3:
判断一个数是否在数组里面 将结果返回给调用处

 public static void main(String[] args) {
        int[] arr = {3524, 42, 432, 134, 43, 13, 41};
        System.out.println(exit(42,arr));

    }
    public  static  boolean exit(int a ,int[] arr){
        for (int i : arr) {
            if (a==i){
                return true;
            }
        }
        return false;
    }

return 和break的区别
return:其实和循环没什么关系,他是跟方法有关的 有两个作用:表示结束方法和返回结果
如果方法执行到了return,那么整个方法结束,里面的循环也就随之结束了。

break:break和方法没什么关系,他是和循环有关系,表示结束循环或者switch的。

java的内存分配:

  • 栈: 方法运行时使用的内存,方法进栈运行,运行完毕就出栈。
  • 堆:new出来的,都在堆内存中开辟了一个小空间

基本数据类型:int、String,boolen等
引用数据类型:除了上面的基本都是,比如数组、时间(Date)(一般都是带new)

引用数据类型是在堆内存中开辟了一个新的空间,真实数据存在堆内存中,该数据类型存放的是堆内存中的值得地址。。传递引用数据类型时,传递的是地址值,形参的改变影响实际的参数。

总结:基本数据类型中存放的是真实数据
引用类型数据存放的是地址值(引用是使用了其他空间的值)

你可能感兴趣的:(java,开发语言)