数组的使用
动态初始化
使用方式1
数据类型 数组名[]=new 数据类型[大小] 例:int arr[]=new int[5]
使用方式2
先声明数组
语法:数据类型 数组名[]/数据类型[] 数组名
创建数组
语法:数组名=new 数据类型[大小];
a = new int[10]
数组使用的注意事项:
1、数组是多个数据类型的组合,实现对这些数据的统一管理 (满足自动类型转换的可以) 2、数组中的类型可以是任意数据类型,但不能混用
3、数组创建后,如果没有赋值,有默认值 int short long byte:0;float double:0.0;char :\u0000(0字符);boolean :false;String :null
4、数组属于引用类型,数组型数据是对象(object)
数组赋值机制:
数组在默认情况下是引用转递,赋的值是地址,赋值方式称为地址转递 例:int arr1[]={1,2,3}; int arr2[]=arr1;此时修改arr2中的值,arr1中的值也会相应改变
数组拷贝:将arr1拷贝至arr2,先创建一个新的数组arr2,再开辟一个新的数据空间,大小为arr1.length。再遍历数组
数组扩容
1、如原有数组 int arr1[]={1,2,3};创建一个新的数组int arrNew[]=new int[arr1.length+1];
2、遍历arr1,赋值给arrNew 3、将4赋值给arrNew[arr1.length-1] 4、arr1=arrNew,让arr1指向arrNew,扩容完成
二维数组
二维数组的使用
动态初始化
语法:方式1:类型[][] 数组名=new 数据类型[大小][大小] 方式2:先声明 数据类型 数组名[][] ;再定义:数组名=new 类型[大小][大小]
二维数组可以理解为一维数组的每一个元素都是一个数组 其中arr[i]表示二维数组中的第i+1个元素,那么arr.length表示二维数组中一维数组的个数,即二维数组的元素个数,arr[i].length就表示为每一个一维数组的长度
每个一维数组的长度可以不同,可以单独开辟空间,如 int arr[][]=new int[3][]
arr[0]=new int[1]
静态初始化
语法 :数据类型 数组名[][]={{值1,值2…..},{值1,值2…..}};