数组(一维数组,二维数组,多维数组)
一维数组:可以理解为一个一行n列的表格,所存储的数据的类型是固定的
是用来存放多个相同数据类型的数据的一个集合
数组使用四步曲:
数组的定义:(有两种定义方式,推荐使用第一种)
第一种 数据类型[] 数组名; //指定该数组只能存放指定数据类型的数据 int[] ages ;
第二种 数据类型 数组名[] ;
数组的创建:
数组名 = new 数据类型[数组长度]; //指定该数组最多可以存放多少个指定数据类型的数据 ages = new int[27] ;
数组的赋值:
数组的赋值通过数组的索引给指定位置赋值
数据名[指定的位置] = 数据 ;//数组的排号是从0开始的,ages[0]代表这个数组的第一个位置
将18 放到数组的第一个位置
ages[0] = 18 ;
将25放到数组的最后一个位置
ages[26] = 25 ;
数组的使用:
获取数组中指定索引(排号)的数据
获得数组中的第二个数据
int i = ages[1];
System.out.println(i);
结论:数组一经创建,则每一位置是有初始值的
数组其他的声明方式:
int[] array = new int[10];
int[] array1 = {18,17,1,2,3,5,12,9,0,0,0}; //这是指定初始值的声明方式
int[] array2 = new int[]{1,2,3,5,0,0,0,0} ;
需求 :打印输出数组中的每一个数据
获取数组的长度 数组名.length
for(int j = 0 ; j < ages.length ; j++)
{
System.out.println("ages的第"+(j+1)+"个位置的数据是:"+ages[j]);
}
数组中的数据称之为元素
数组名.length 获得数组的长度
数组的遍历 :获得数组中每一个位置的数据
有一组数据 1,2,4,6,5,7,3,按照给定的顺序打印
//定义一个数组
int[] array = {1,2,4,6,5,7,3};
//遍历数组
for(int j = 0 ; j < array.length ; j++)
{
System.out.println(array[j]);
}
数组的另外一种遍历方式(增强for循环遍历)
//将数组从第一个元素遍历至最后一个元素
每进入一次循环,变量名的变量的值,就是数组该位置的元素的值
for(数据类型 变量名 : 数组名)
{
}
例:循环打印数据 1,2,3,4,5
int[] array = {1,2,3,4,5};
int i = 0 ;
for(int j : array)
{
System.out.println(j);
}
二维数组 (可以理解为一个多行多列的表格)
二维数组的使用四部曲
1,数组的定义
数据类型[ ] [ ] 数组名;
例:int[ ][ ] ages ;
2,数组的创建
数组名=new 数据类型[外下标(行的数量)][内下标(列的数量)];
例: ages = new int[3][4];
3,为数组赋值
数组名[行的索引][列的索引] = 数据值
例:将18 赋值给第三行第三列的元素
ages[2][2] = 18 ;
4,使用数组中的数据,或者遍历数组
获得第二行,第一列的元素的值
int i = ages[1][0];
需求:打印出二维数组中所有的元素
思考 ages.length = 3 ? 4
二位数组的其他声明方式:
直接赋值法
数据类型[][] 数组名 = { {1,2} ,{2} ,{1,2,3} ,{3,4,5,6,7} }
例 int[][] ages = { {1,2} ,{2} ,{1,2,3} ,{3,4,5,6,7} };
ages[1][1]?会报错 数组下标越界
多维数组 数据类型[ ][ ][ ][ ] 数组名 = { {{{1,2,3},{3,2,3}},{{},{}}} ,{{{},{}},{{},{}}}}
/**
* 定义一个二维数组,并为其每一个元素赋值,赋值完成之后,打印输出所有的数据
* @author lx
*
*/
public class ErWeiSZ01
{
public static void main(String[] args)
{
//声明数组
int [ ][ ] array ;
//创建数组
array = new int[3][4] ;
//赋值
for(int i = 0 ; i < array.length ; i++)
{
for(int j = 0 ; j < array[i].length ; j++)
{
array[i][j] = i+j ;
}
//程序运行到这,表示完成第i行的赋值
}
//程序运行到这,表示完成所有的赋值
for(int i = 0 ; i < array.length ; i++)
{
for(int j = 0 ; j < array[i].length ;j++)
{
System.out.print(array[i][j]+" ");
}
//程序运行到这表示第I行打印完成
System.out.println();
}
}
}