概念:

  • 数组你可以理解为是一个容器,它用来存储一组相同类型的数据。
  • 数据类型:基本数据类型:四类八种。整数类型(byte,short,int,long)浮点类型(float,double)字符类型(char)布尔类型(boolean)引用数据类型:数组,类,枚举,接口。你用new关键初始化的数据。
  • 数组定义格式:
    int[] a; 定义了一个int类型的数组a;
    int a[] ;定义了一个int类型的a数组;

Java中的数组必须初始化然后才能使用。所谓初始化就是为数组中的数组元素分配内存空间,并为每个数组元素赋默认值。

动态初始化:

  • 由我们规定数组的长度,由系统赋默认值。
  • 格式:数据类型[] 数组名 = new 数据类型[数组长度]。数组长度其实就是数组中元素的个数。
    举例: int[] arr = new int[3]; 定义了一个int类型的数组arr,这个数组可以存放3个int类型的值。

静态初始化:

  • 由我们给出初始值,由系统决定长度。
  • 格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};
    举例: int[] arr = new int[]{1,2,3};
    简化格式:数据类型[] 数组名 = {元素1,元素2,…};
    举例: int[] arr = {1,2,3};

Java对内存的分配:5个部分

1.栈内存(存局部变量):方法调用时会加载进栈。
2.堆内存(存每个new出来的数据):并为他们分配内存地址以及给数据赋初始化值。
3.方法区(加载字节码文件到方法区)
4.本地方法区(与系统相关)
5.寄存器(cpu来使用)

初始化(默认值):

类型 默认值
byte,short,int,long 0
fioat,double 0.0
char \u000(空格)
boolean flase
引用数据类型 null

内存分配图示:

数组初始化及内存分配

相关文章: