数组分为一维数组和二维数组。
主要考虑一下几个问题:
- 数组的含义
- 数组的定义方式
- 数组的使用方法
注意:变量必须初始化才可以使用,数组有默认值
0,null,0.0
一维数组的含义
- 数组是为了方便存储相同数据类型而定义的一种存储方式
说明:数据类型可以是基本数据类型,也可以是引用数据类型
一个数组的内容的数据类型必须是相同的。 - 数组是有长度的。数组一旦初始化,长度便确定了
一维数组的定义方法
int [] name=new int []{1,2,3};
静态初始化int [] name={1,2,3};
类型推断int [] name=new int [3];
动态初始化int [] name;name={1,2,3};
错误int [] s=new int[3] {1,2,3};
错误
使用方法
- 通过角标的方式
- 获取数组长度 name.length;没有括号
- 数组的遍历 for(int i=0;i<name.length();i++){}
- 数组元素的默认初始化值
整型:0
浮点型:0.0
char型:0/’/u0000’
boolean:false
引用类型:null
二维数组声明
int [][] name=new int [][]{{1,2,3},{4,5},{7,8,9}};
静态初始化int [][]name={{1,2},{1,2,3},{4,9,6}};
int [][]name=new int [2][3];
int [][] id=new int [3][];
//第一个中括号值不可省略
id[0]=new int[4];
System.out.println(id[0][3]);
int [] id []=new int [][]{};
int [] id []={};
二维数组的理解
二维数组时一维数组的一种组合。
在下面的代码中,1代表id指向一个容量为3的数组。然后数组的每一个元素有作为一个变量指向了一个容量为四的数组
int [][] id=new int [3][4];
二位数组的遍历
双层循环
二维数组的默认初始化值
二位数组分为内层数组和外层数组
int [][] arr=new int [3][4];
cout<<arr[0]<<endl;//地址值
cout<<arr[0][0]<<endl;//与数据类型有关,此事为0
int [][]arr=new int [3][];
cout<<arr[0]<<endl;//null
cout<arr[0][0]<<endl;//报错,因为没有指向,会报空指针错误
理解:
数组名是指向外层元素的指针。他存的值是只想元素的值。因为内层元素没有指向,所以为空。内层元素没有指向,所以不能查他只想地址的值