二维数组/*
*二维数组
* 1:定义、初始化
* int[][] arr2=new int[3][3];
*第一个3表示此二维数组由三个一维数组组成
*第二个3表示每个一维数组中有3个元素
*
*二维数组分类
* 1:规则的2维排列:每个1维排列的要素数相同
* 2:不规则二维排列:每个一维排列的要素个数不同
* 2:横移
*正常for循环
* for---each
* 3:内存分配
*4:交换二维数组
*原始二维阵列
* a b c d
* 00 01 02 03
* e f g h
* j j k l
*
*
*
*
*
*
*二维数组的使用情况
* 1:2D游戏地图
* 2:省市联动
*
*/
publicstaticvoidmain (string [ ] args ) {
String[][] pro={
"武汉市"、"黄冈市"、"黄石市"、
{ '西安市','咸阳市','宝鸡市','延安市' }
(;
//1 :根据定义、初始化的动态初始化数组的长度,决定数组的要素个数
/*int[][] arr3=new int[3][3];
arr[0][0]=10;
arr[0][1]=20;
arr[0][2]=30;
arr[1][0]=40;
arr[1][1]=50;
arr[1][2]=60;
arr[2][0]=70;
arr[2][1]=80;
arr[2][2]=90; */
//2:静态初始化元素的数量决定了数组的长度
int [ ] [ ] arr2=new int [ ] [ ] { 10,20,30 }、{ 40,50,60 }、{ 70,80,90 };
//静态初始化是根据要素的数量来决定数组的长度
int[][] arr={
{ 10,20,30,100 },
{ 40,50,60,110 },
{ 70,80,90,120 }
(;
//外层环次数是二维排列中的一维排列的个数,是通常的for环
for(intj=0; jarr.length; j ) {
//内侧层的循环次数为每个1维排列要素的个数
for(intI=0; iarr[j].length; I ) {
system.out.println(arr[j][I];
}
}
//双重for-each
system.out.print ln (---------);
for(int[]is:arr ) {
for(intI:is ) {
system.out.println(I;
}
}
//不规则的2维排列首先确定1维排列的个数,动态初始化
String[][] str=new String[3][];
//分别按一维排列赋予长度
str[0]=new String[3];
str[1]=new String[4];
str[2]=new String[5];
//静态初始化
string [ ] [ ] str2=new string [ ] [ ] { ' a ' }、{'b '、' c'}、{'d '、' e '、' f'};
String[][] str3={
{'a'},
{'b ',' c'},
{'d ',' e ',' f'}
(;
}
三维数组1 .直接定义法,直接定义三维
inta[][][]=newint[1][1];
2 .用二维旋转三维,定义几个二维,然后直接填充三维。
公共文件静态int [ ] [ ] A0={
{ 0,1,2 }、{ 3,4,5 }、{ 4,6,7 };
公共文件静态int [ ] [ ] a1={
{ 0,4,6,},{ 6,8,8,6 },{ 8,8,6,12,14,4,0 };
public final static int [ ] [ ] [ ] as={ A0,a1};