Java的数组定义与方法重载——有C++基础的Java入门(三)

版权声明:欢迎转载,转载请注明出处哦! https://blog.csdn.net/qq_41647999/article/details/83418794

目录

一、 数组的定义

1、定义

2、 原理

3、 赋值方式

二、Java的方法重载

1、 概念

(1) 重载

(2) 目的

2、例子

(1) 比较两个数值的大小

(2) 运行方式及结果


一、 数组的定义

1、定义

数据类型 [ ]  数组名 = new 数据类型 [整数];

整数就是数组的长度。

定义方式和C#是一样的,如 int [] arr = new int[5];

2、 原理

假设在程序中定义的数组为 int [] arr = new int[5]; 从JVM(JVM在“入门一”里面有详细解释,这里不再赘述)的方向分析。先上个图,在做详细的解释。

在程序执行的时候,电脑的内存里会分配一个JVM的空间。在JVM里面又分为两大区域:堆和栈(类似于我们电脑里面的固态硬盘和机械硬盘)。

栈:空间小,主要存储地址和基本数据类型的变量,存取速度快。

堆:空间大,主要存储引用类型的变量,存取速度慢。

int [] arr = new int[5];在堆中会开辟一片空间来存放数组,会给这片空间分配一个假设为0x666的地址(这个地址只有计算机知道)。因为数组没有赋值,在Java中这五个值都默认为0。在堆中存放的东西由谁来引用呢?一定是由栈来引用的,所以在栈中一定有一片空间来存储数组的地址,通过栈中的地址找到堆中数组的值。

3、 赋值方式

赋值方式和c++也是一样的,但获取数组的长度上不同。C++需要自己定义一个函数来求数组的长度,Java中只需要“数组名.length(如arr.length)”和JS是一样的。

二、Java的方法重载

Java的方法定义、方法重载和C++都是差不多的。

1、 概念

(1) 重载

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

(2) 目的

提高代码的可读性和节省命名的词。

2、例子

(1) 比较两个数值的大小

public class demo{
    /**
     *比较两个数的大小
     */
    public static int compareNum(int a,int b){
        return a>b?a:b;
        //三元运算符的比较:如果比较结果为真,则返回a,为假则返回b
    }

    /**
     * 函数重载
     *比较三个数的大小
     */
    public static int compareNum(int a,int b,int c){
        return comparenum(a,b)>c?comparenum(a,b):c;
    }

    public static void main(String[] args){
        int result1=comparenum(100,200);
        int result2=comparenum(555,66,88);
        System.out.println("result1="+result1);
        System.out.println("result2="+result2);
    }
}

(2) 运行方式及结果

下一章节:Java的this、public、static、protected关键字——有C++基础的Java入门(四)

猜你喜欢

转载自blog.csdn.net/qq_41647999/article/details/83418794