数组
定义:数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。
特点:一旦被定义,长度不能改变;存储相同类型的数据
数组下标从0开始;数组取值根据下标取值
数组初始化有默认值;boolean类型默认值为:false;double类型默认值为0.0
数组的细节
-
数组是多个相同类型数据的组合,实现对这些数据的统一管理
-
数组的元素可以是任何数据类型,包括基本类型和引用类型(接口,对象),但是不能混用
-
数组创建后,如果没有赋值,有默认值(int 0,short 0,byte 0,long 0,float 0.0,double 0.0,char \u000,boolean false,String null)
-
使用数组的步骤:1、声明数组并开辟空间2、给数组各个元素赋值3、使用数组
-
数组的下标是从0开始的
-
数组下标必须在指定范围内使用,否则运行报错:下标越界异常,比如:int [] arr = new int [5];则有效下标为0-4
-
数组属于引用类型,数组型数据是对象(Object)
数组赋值机制
-
基本数据类型赋值,这个值就是具体的数据,而且互相不影响
-
数组在默认情况下是引用传递,赋的值是地址
数组的复制
Arrays.copyof(要复制的数组,复制长度)
System.arrayCopy(原来数组,开始位置,新数组,开始位置,复制长度)
一维数组
数组初始化
静态初始化:
int[] a = {1,2};
动态初始化:
int[] a = new int[2];
默认初始值是基本数据类型的初始值。
二维数组
数组初始化
静态初始化:
int[][] a = {{1,2},{1,2}};
动态初始化:
int[][] a = new int[3][];
不指定一维的数组长度动态初始化:
int[][] a = new int[3][2]
; 指定一维的数组长度
使用细节
-
一维数组的声明方式有:int[] x 或者 int x[]
-
二维数组的声明方式有:
int[][] y; 或者 int[] y[]; 或者 int y[][]
-
二维数组实际上是由多个一维数组组成的,它的各个一维数组的长度可以相同,也可以不同。比如:
map[][]是一个二维数组 map[][]={{1,2},{3,4,5}}
由map[0]是一个含有两个元素的一维数组,map[1]是一个含有三个元素的一维数组构成,我们也称为列数不等的二维数组。
变量命名方式
#一维数组
int[] a = new int[2]; 常用
int a[] = new int[2];
#二维数组
int[][] a = new int[3][2];常用
int a[][] = new int[3][2];
int[] a[] = new int[3][2];