数组

 什么是数组

数组是一组地址连续、长度固定的具有相同类型的数据的集合,通过数组下标我们可以指定数字中的每一个元素

 

数组的定义和内存分配

在Java中通过(类型名[] 数组名)或(类型名 数组名[])申明一个数组,其中(类型名[] 数组名)方式声明数组是Java特有也是推荐使用的

数组是一个特殊的对象,所以在使用前需要在内存中开辟一块内存空间用来存放数据,否则会抛出空指针异常,可以通过(new)关键字给数组分配内存,也可以使用通过在静态初始化(见下)时隐式的给数组分配与初始化元素个数相同的数组空间

定义了一个数组后可以通过(数组名[下标])的方式访问数组中的数据,通过(数组名[下标]=数据)为数组赋值

 

数组的赋值和访问

数组的赋值有两种:静态初始化、动态初始化

  • 静态初始化:通过(类型[] 数组名={元素,元素...})或(类型[] 数组名= new 类型[]{元素,元素...})的方式为数组初始化,数组将自动分配一个与元素个数相同的内存空间
int[] arr = {1,2,3,4,5};
int[] arr = new int[]{1,2,3,4,5};
  • 动态初始化:通过(类型[] 数组名=new 类型[大小])为数组分配内存,通过(数组名[下标]=数据)为数组初始化赋值
int[] arr = new int[3];
arr[0] = 1

 二维数组

定义方法
直接添加元素

int[][] arr={{2},{3},{4}};

先定义数组长度再添加元素

int[] arr=new int[2][2];
arr[0][1]=1;
arr[1][1]=1;

 

数组的注意事项

  1. 数组的类型可以是基本数据类型和引用类型
  2. 数组的长度不可变
  3. 数组的属性(数组名.length)获取的是数组的容量,而不是数组中存储元素的个数
  4. 数组的下标从0开始,最后一个元素的下标是(length-1)
  5. 数组是引用数据类型 
  6. 数组的长度是固定的,也就是说可以存储固定个数的数据
  7. 数组中的元素的类型必须一致,也就是说数组中存储的多个数据的数据类型一致
public static void main(String[] args) {
    int[] arr1={1,2,3};//定义一个int类型数组arr1,静态初始化数组,其数组长度为3
    int[] arr2=new int[3];//定义一个长度为3的int类型数组arr2 int类型的数组其元素默认值是0
    int[] arr3=new int[]{4,5,6};//定义一个int类型数组arr2,并静态初始化数组,其数组长度为3
    
    //(数组名.lenth)获取数组的容量大小
    System.out.println("arr1的长度为 : "+arr1.length+" - ["+arr1[0]+", "+arr1[1]+", "+arr1[2]+"]");
    System.out.println("arr1的长度为 : "+arr2.length+" - ["+arr2[0]+", "+arr2[1]+", "+arr2[2]+"]");
    System.out.println("arr1的长度为 : "+arr3.length+" - ["+arr3[0]+", "+arr3[1]+", "+arr3[2]+"]");
}

 

posted @ 2020-05-14 16:48  一半人生  阅读(143)  评论(0编辑  收藏  举报