java二位数组基础入门.docx

上传人:b****1 文档编号:13402378 上传时间:2023-06-13 格式:DOCX 页数:14 大小:151.33KB
下载 相关 举报
java二位数组基础入门.docx_第1页
第1页 / 共14页
java二位数组基础入门.docx_第2页
第2页 / 共14页
java二位数组基础入门.docx_第3页
第3页 / 共14页
java二位数组基础入门.docx_第4页
第4页 / 共14页
java二位数组基础入门.docx_第5页
第5页 / 共14页
java二位数组基础入门.docx_第6页
第6页 / 共14页
java二位数组基础入门.docx_第7页
第7页 / 共14页
java二位数组基础入门.docx_第8页
第8页 / 共14页
java二位数组基础入门.docx_第9页
第9页 / 共14页
java二位数组基础入门.docx_第10页
第10页 / 共14页
java二位数组基础入门.docx_第11页
第11页 / 共14页
java二位数组基础入门.docx_第12页
第12页 / 共14页
java二位数组基础入门.docx_第13页
第13页 / 共14页
java二位数组基础入门.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java二位数组基础入门.docx

《java二位数组基础入门.docx》由会员分享,可在线阅读,更多相关《java二位数组基础入门.docx(14页珍藏版)》请在冰点文库上搜索。

java二位数组基础入门.docx

java二位数组基础入门

1二维数组

/*

二维数组:

就是元素为一维数组的一个数组。

格式1:

数据类型[][]数组名=new数据类型[m][n];

m:

表示这个二维数组有多少个一维数组。

n:

表示每一个一维数组的元素有多少个。

注意:

A:

以下格式也可以表示二维数组

a:

数据类型数组名[][]=new数据类型[m][n];

b:

数据类型[]数组名[]=new数据类型[m][n];

B:

注意下面定义的区别

intx;

inty;

intx,y;

int[]x;

int[]y[];

int[]x,y[];

*/

classArray2Demo{

publicstaticvoidmain(String[]args){

//定义一个二维数组

int[][]arr=newint[3][2];

//定义了一个二维数组arr

//这个二维数组有3个一维数组的元素

//每一个一维数组有2个元素

//输出二维数组名称

System.out.println(arr);//地址值[[I@175078b

//输出二维数组的第一个元素一维数组的名称

System.out.println(arr[0]);//地址值[I@42552c

System.out.println(arr[1]);//地址值[I@e5bbd6

System.out.println(arr[2]);//地址值[I@8ee016

//输出二维数组的元素

System.out.println(arr[0][0]);//0

System.out.println(arr[0][1]);//0

}

}

2二维数组格式

/*

格式2:

数据类型[][]数组名=new数据类型[m][];

m:

表示这个二维数组有多少个一维数组。

列数没有给出,可以动态的给。

这一次是一个变化的列数。

*/

classArray2Demo2{

publicstaticvoidmain(String[]args){

//定义数组

int[][]arr=newint[3][];

System.out.println(arr);//[[I@175078b

System.out.println(arr[0]);//null

System.out.println(arr[1]);//null

System.out.println(arr[2]);//null

//动态的为每一个一维数组分配空间

arr[0]=newint[2];

arr[1]=newint[3];

arr[2]=newint[1];

System.out.println(arr[0]);//[I@42552c

System.out.println(arr[1]);//[I@e5bbd6

System.out.println(arr[2]);//[I@8ee016

System.out.println(arr[0][0]);//0

System.out.println(arr[0][1]);//0

//ArrayIndexOutOfBoundsException

//System.out.println(arr[0][2]);//错误

arr[1][0]=100;

arr[1][2]=200;

}

}

3二维数组格式3

/*

格式3:

基本格式:

数据类型[][]数组名=new数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

简化版格式:

数据类型[][]数组名={{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};

举例:

int[][]arr={{1,2,3},{4,5,6},{7,8,9}};

int[][]arr={{1,2,3},{4,5},{6}};

*/

classArray2Demo3{

publicstaticvoidmain(String[]args){

//定义数组

int[][]arr={{1,2,3},{4,5},{6}};

System.out.println(arr);

System.out.println(arr[0]);

System.out.println(arr[1]);

System.out.println(arr[2]);

System.out.println(arr[0][0]);//1

System.out.println(arr[1][0]);//4

System.out.println(arr[2][0]);//6

System.out.println(arr[0][1]);//2

System.out.println(arr[1][1]);//5

//越界

System.out.println(arr[2][1]);//错误

}

}

4二维数组的遍历

/*

需求:

二维数组遍历

外循环控制的是二维数组的长度,其实就是一维数组的个数。

内循环控制的是一维数组的长度。

*/

classArray2Test{

publicstaticvoidmain(String[]args){

//定义一个二维数组

int[][]arr={{1,2,3},{4,5,6},{7,8,9}};

//请问谁代表{1,2,3}

//arr[0]就是第一个数组

//arr[0]={1,2,3};

for(intx=0;x

System.out.println(arr[0][x]);

}

System.out.println("--------------");

for(intx=0;x

System.out.println(arr[1][x]);

}

System.out.println("--------------");

for(intx=0;x

System.out.println(arr[2][x]);

}

System.out.println("--------------");

//用循环改进

for(intx=0;x<3;x++){

for(inty=0;y

System.out.print(arr[x][y]+"");

}

System.out.println();

}

System.out.println("--------------");

//这个时候,注意了,3是我们根据上面的代码得出来的

//但是,它不能针对任何的数组都可以这样

//所以,我们应该想办法改进

//其实,外面的这个循环的长度就是二维数组的长度

for(intx=0;x

for(inty=0;y

System.out.print(arr[x][y]+"");

}

System.out.println();

}

System.out.println("--------------");

//用方法改进

//调用方法

printArray2(arr);

System.out.println("--------------");

//我们再来一个列数是变化的

int[][]arr2={{1,2,3},{4,5},{6}};

printArray2(arr2);

}

/*

需求:

遍历二维数组

两个明确:

返回值类型:

void

参数列表:

int[][]arr

*/

publicstaticvoidprintArray2(int[][]arr){

for(intx=0;x

for(inty=0;y

System.out.print(arr[x][y]+"");

}

System.out.println();

}

}

}

5求公司销售额

/*

公司年销售额求和

某公司按照季度和月份统计的数据如下:

单位(万元)

第一季度:

22,66,44

第二季度:

77,33,88

第三季度:

25,45,65

第四季度:

11,66,99

分析:

A:

把题目的数据用二维数组来表示

int[][]arr={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};

B:

如何求和呢?

求和其实就是获取到每一个元素,然后累加即可。

C:

定义一个求和变量sum,初始化值是0。

D:

通过遍历就可以得到每一个二维数组的元素。

E:

把元素累加即可。

F:

最后输出sum,就是结果。

*/

classArray2Test2{

publicstaticvoidmain(String[]args){

//把题目的数据用二维数组来表示

int[][]arr={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};

//定义一个求和变量sum,初始化值是0。

intsum=0;

//通过遍历就可以得到每一个二维数组的元素。

for(intx=0;x

for(inty=0;y

//把元素累加即可。

sum+=arr[x][y];

}

}

//最后输出sum,就是结果。

System.out.println("一年的销售额为:

"+sum+"万元");

}

}

6打印杨辉三角形

/*

需求:

打印杨辉三角形(行数可以键盘录入)

1

11

121

1331

14641

15101051

分析:

看这种图像的规律

A:

任何一行的第一列和最后一列都是1

B:

从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。

步骤:

A:

首先定义一个二维数组。

行数如果是n,我们把列数也先定义为n。

这个n的数据来自于键盘录入。

B:

给这个二维数组任何一行的第一列和最后一列赋值为1

C:

按照规律给其他元素赋值

从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。

D:

遍历这个二维数组。

*/

importjava.util.Scanner;

classArray2Test3{

publicstaticvoidmain(String[]args){

//创建键盘录入对象

Scannersc=newScanner(System.in);

//这个n的数据来自于键盘录入。

System.out.println("请输入一个数据:

");

intn=sc.nextInt();

//定义二维数组

int[][]arr=newint[n][n];

//给这个二维数组任何一行的第一列和最后一列赋值为1

for(intx=0;x

arr[x][0]=1;//任何一行第1列

arr[x][x]=1;//任何一行的最后1列

}

//按照规律给其他元素赋值

//从第三行开始,每一个数据是它上一行的前一列和它上一行的本列之和。

for(intx=2;x

//这里如果y<=x是有个小问题的,就是最后一列的问题

//所以这里要减去1

//并且y也应该从1开始,因为第一列也是有值了

for(inty=1;y<=x-1;y++){

//每一个数据是它上一行的前一列和它上一行的本列之和。

arr[x][y]=arr[x-1][y-1]+arr[x-1][y];

}

}

//遍历这个二维数组。

/*

for(intx=0;x

for(inty=0;y

System.out.print(arr[x][y]+"\t");

}

System.out.println();

}

*/

//这个时候,要注意了,内循环的变化必须和曾经讲过的九九乘法表类似

for(intx=0;x

for(inty=0;y<=x;y++){

System.out.print(arr[x][y]+"\t");

}

System.out.println();

}

}

}

7二维数组格式1的内存

二维数组格式2的内存

二维数组格式3的内存

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2