数组的声明、创建
public class Array1 {
public static void main(String[] args) {
//这是一种声明方法,推荐用这种
int[] a;
//这也是一种声明方法,跟c、c++一样,是早期java为了使c/c++程序员尽快适应java语法
int b[];
//数组的创建。给数组a分配10个int空间
a = new int[10];
//也可以合在一起写,声明和创建同一句搞定
int[] c = new int[5];
}
}
public class Array2 {
public static void main(String[] args) {
//静态初始化 声明+赋值
int[] a = {1,2,3,4};
//动态初始化 声明+创建空间,但不赋值,但其实已经默认初始化为0,但我们可以修改元素
int[] b = new int[10];
System.out.println(b[0]);
b[0] = 1;
System.out.println(b[0]);
//关于jvm内存问题,具体可以参考:https://www.php.cn/java/base/435287.html
/*这里说其中几点,就是声明的变量都是存在“栈内存”当中的,new之后的内容,也就是创建,才是放到堆
内存当中*/
/*数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,
其中的每个元素也被按照实例变量同样的方式被隐式初始化。*/
}
}
- 其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。其元素必须是相同类型,不允许出现混合类型。
- 数组中的元素可以是任何数据类型,包括基本类型和引用类型。
- 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。
- 越界会报ArraylndexOutOfBoundsException