数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组可以分为一维数组、二维数组和多维数组。
一维数组
一维数组的声明与分配内存
数据类型 数组名[]=null; 或者 数据类型[] 数组名=null; //声明一维数组
数组名=new 数据类型[长度]; //分配内存给数组
其中常见的数据类型是整型、浮点型和字符型等。
数组声明后实际上是在栈内存中保存了此数组的名称,接下来便要在堆内存中分配数组所需的内存。
null表示引用数据类型的默认值
数组输入引用数据类型,那么对于引用数据类型来说,其默认值是null,表示暂时还没有任何指向的内存空间。在JDK1.5之后可以不用给数据默认值,但是最好还是加上。
栈堆内存的解释
数组操作中,在栈内存中保存的永远是数组的名称,只开辟了栈内存空间的数组是永远无法使用的,必须有指向的堆内存才可以使用。想要开辟新的堆内存则必须使用new关键字,然后只是将此堆内存的使用权交给了对应的栈内存空间,而且一个堆内存空间可以同时被多个栈内存空间指向。
java.lang.ArithmeticException: / by zero 除数为0
java.lang.ArrayIndexOutOfBoundsException: index 数组索引超出绑定异常
数组内容的初始化
数组的初始化分为动态初始化和静态初始化两种。动态初始化是先使用new关键字分配空间,然后逐个赋值;静态初始化是在声明时直接用{}进行赋值。
二维数组、多维数组和一维数组类似。
方法重载就是方法名称相同,但参数的类型和参数的个数不同
数组的传递输入引用数据类型的传递,传递的是堆内存地址的使用权,一个数组可以有多个名称指向同一个堆内存空间,每一个名称都可以修改堆内存中的内容。