1.什么是数组?
相同数据类型的数据
按照顺序
复合数据类型
2.如何定义一个一维数组?
格式
:
数据类型 数组名称
[]; /
数据类型
[]
数组名称
;
数组的定义与变量的定义相似,只是需要”
[]
”与变量区分,因此上”
[]
”就是数组的
标志。
名称的前面
/
后面出现一个“[]”就是一维数组,有两个”
[][]
”就是二维数组,两个以上就是多维数组
int intarr1[];
int []intarr2;
3.创建一个一维数组?
创建数组的本质就是确定数组的具体存储空间。
格式
:
1.先定义,后创建
定义
:
数据类型 数组名称
[]; /
数据类型
[]
数组名称
;
创建
:
数组名称
= new
数据类型
[
指定的存储空间
];
指定的存储空间的数据值是
int
型
int intarr1[];
int []intarr2;
intarr1=new int[3];
intarr2=new int[4];
2.定义+创建
数据类型 数组名称
[]=new
数据类型
[
指定的存储空间
];
数据类型
[]
数组名称
=new
数据类型
[
指定的存储空间
];
char charry1[]=new char[5];
char []charry2=new char[4];
4.如何为一维数组赋值?
1.逐个赋值---就是挨个为数组的每一个存储空间存放数据值。[需要数组的下标]
数组的下标
--
因为数组是按照顺序保存数据,此时每一个存储空间就有一个顺序
的编号,维持数组数据顺序的编号就是下标。通过可以通过下标得到具体的数据存储空间。
下标从
0
开始。第一个存储空间的下标是
0
,依次类推。
格式
:
数组名称
[
下标
] =
数据值
;
注意
:
当保存在数组中的数据超过数组指定的存储空间就是会出错。
java.lang.ArrayIndexOutOfBoundsException:
int intarr1[];
int []intarr2;
intarr1=new int[3];
intarr2=new int[4];
intarr1[0]=1;
intarr1[1]=2;
intarr1[2]=3;
2.直接赋值---就是在创建数组的时候将数据值保存到数组中。
2.1
数据类型 数组名称
[]=new
数据类型
[]{
数据值
1
,数据值
2
,
...
,数据值
n};
//
创建数组的时候不能指定存储空间
2.2
数据类型 数组名称
[]={
数据值
1
,数据值
2
,
...
,数据值
n};
int intarr5[]=new int[]{4,5,6,7,7};
5.如何从一维数组中取值?只要我们能够得到数组的存储位置,就可以得到数组中的数据值
格式
:
数组名称
[
下标
]
6.一维数组的 length 属性
如果数组通过直接赋值的方式创建,那么
length
属性就表示元素个数。
如果数组通过定义创建的方式创建,那么
length
属性就表示创建数组是给出的空 间大小,与数组的元素个数无关
System.out.println(intarr.length);
7.循环遍历一维数组
//for循环
for(int i=0;i<intarr1.length;i++){
System.out.println(intarr1[i]);
}
//while循环
int i=0;
while(i<intarr1.length){
System.out.println(intarr1[i]);
i++;
}
//do{}while循环
int j=0;
do{
System.out.println(intarr1[j]);
j++;
}while(j<intarr1.length);
//加强for循环
for(int int1:intarr1){
System.out.println(int1);
}
8.如何定义一个二维数组
格式
:
数据类型 数组名称
[][]
;
数据类型
[][]
数组名称;
int intarr3[][];
int [][]intarr4;
9.如何创建一个二维数组?
二维数组可以保存一个类似表格一样的数据,所以我们可以认为二维数组就是一个表格。
1.先定义,后创建
数据类型 数组名称
[][]
;
数据类型
[][]
数组名称;
数组名称
=new
数据类型
[
表格行
][
行中的列
];
int intarr3[][];
int [][]intarr4;
intarr3=new int[2][2];
intarr4=new int[3][4];
2.定义+创建
数据类型 数组名称
[][] = new
数据类型
[
表格行
][
行中的列
];
数据类型
[][]
数组名称
= new
数据类型
[
表格行
][
行中的列
];
char charry3[][]=new char[3][4];
char [][]charry4=new char[2][2];
10.如何为二维数组赋值?
1.
逐个赋值
---
就是挨个为数组的每一个存储空间存放数据值。
int intarr3[][];
int [][]intarr4;
intarr3=new int[2][2];
intarr4=new int[3][4];
intarr4[0][0]=11;
intarr4[0][1]=12;
intarr4[0][2]=13;
intarr4[0][3]=14;
intarr4[1][0]=21;
intarr4[1][1]=22;
intarr4[1][2]=23;
intarr4[1][3]=24;
intarr4[2][0]=31;
intarr4[2][1]=32;
intarr4[2][2]=33;
intarr4[2][3]=34;
2.
直接赋值
---
就是在创建数组的时候将数据值保存到数组中。
char charry5[][]=new char[][]{{'A','B'},{'C','D'}};
11.如何从二维数组中取值?
只要我们能够得到数组的存储位置,就可以得到数组中的数据值。
格式
:
数组名称
[
行
][
列
]
;
12.二维数组的 length 属性 -- 行数
System.out.println(charry5.length);
13.循环遍历二维数组---使用双层循环结构,外层控制行,内层控制列
//for循环
for(int i=0;i<charry5.length;i++){
for(int j=0;j<2;j++){
System.out.println(charry5[i][j]);
}
}
//while循环
int i=0;
while(i<charry5.length){
int j=0;
while(j<2){
System.out.println(charry5[i][j]);
j++;
}
i++;
}
//do{}while循环
int i=0;
do{
int j=0;
do{
System.out.println(charry5[i][j]);
j++;
}while(j<2);
i++;
}while(i<charry5.length);
//加强for循环
for(char charr1[]:charry5){
for(char charr2:charr1){
System.out.println(charr2);
}
}