Java基础 6 数组

来源:互联网 发布:数据挖掘在股票的应用 编辑:程序博客网 时间:2024/06/03 08:33
数组(一维数组,二维数组,多维数组)

一维数组:可以理解为一个一行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();
}
}
}


原创粉丝点击