数组
数组是表示多个相同类型变量的集合(在一个数组中所存放的所有元素的类型必须一致),可以使用共同的名字引用它
属于复杂数据类型
由类型相同的元素组成的有顺序的数据集合
Java数组是固定的不能扩展[长度一旦声明,不能修改]
可以存储基本数据类型或对象
数组可以定义为任意数据类型,并且可分为一维数组或多维数组
一维数组
一维数组实质上是相同类型变量的列表。要创建一个数组必须首先定义数组变量所需的类型。通用的一维数组的声明格式是:type var-name[ ];
1int[] arr1 = new int[10]; // int[]或arr2[]都是用于声明是数组类型,int用于声明每个元素都是int类型
2int arr2[] = new int[20]; //要求使用数组之前必须先声明所需空间大小,即存储的元素个数,一旦声明则不能修改
3
4 int[] brr;
5 brr[0]=123; //语法报错
数组中的元素必须类型相同,不能存储不同类型的元素,除非使用Object[]
1 int[] brr=new int[10];
2 brr[0] = 123.;
//类型必须一致 brr[0]表示数组的第0个元素,[]中是索引下标值--
序号
3
4 Object[] brr=new Object[10];
5 brr[0] = 123.;
6 brr[1]="sdafsd";
可以通过数组的下标操作数组中所存储的元素,注意下标从0开始,例如arr[0]+=12;修改元素的值System.out.println(arr[0]);获取元素
使用数组之前,必须先定义后使用,定义的方式: int[] arr或者int arr[]
声明数组变量后,必须进行初始化操作,也就是定义数组的长度 arr=new int[5],这里表示开启可以存放5个int类型数据的数组,这些元素时连续存放的
简单类型的数组初始化长度后,每个元素都有默认值
1 int[] arr=new int[10];
2 //所有的数值型数据默认0,boolean类型默认false,char类型默认'\0'
3 System.out.println(arr[1]); //输出为0
创建数组后,每个元素都有一个默认值,如果针对的是引用类型,则默认值为null;如果是简单类型中byte short int long float double,则默认值为0,如果char类型默认值为\0,如果boolean类型,则默认false
1 Integer[] arr=new Integer[10];
2 System.out.println(arr[1]); //输出为null
在Java中允许直接赋值初始
int[] arr={1,2,3,4,5,6,7}; 注意在于int[]中不能写具体的对应长度
也可以写成new int[]{1,2,3,4,5,6,7},但是int[]中不能有长度值
1 int[] arr= {1,2,3,4,5,6};
2 System.out.println(arr[3]);
3
4 int[] brr=new int[] {1,2,3,4,5,67};//注意不能修改int[]为int[6],否则语法报错
5 System.out.println(brr[3]);
声明一个int型的一维数组:int number[];
[ ]在字节左边,对后面所有变量都有影响char[] s, t;
1 int arr[],brr[]; //等价于int[] arr,brr;
2 arr=new int[5];
3 brr=new int[3];
4 System.out.println();
数组虽然声明了变量类型。但不存在实际的数值,它的值为null。为了使数组number 成为实际的、物理上存在的整型数组,你必须用运算符new 来为其分配地址并且把它赋给number
1 int[] arr;//声明整型数组变量arr
2 System.out.println(arr); //语法错误,必须先声明后使用,先赋初值后使用
运算符new 是专门用来分配内存的运算符,格式为:array-var = new type[size]; 开启出来的空间是连续,可以通过下标进行快速定位
例如上面的代码: int[] kk=new int[10];
length属性
数组对象中有个属性length表示的是数组的长度
1 int[] arr=new int[] {1,2,3,4,5,6};
2 System.out.println(arr.length); //获取数组中的元素个数