·二维数组
A:二维数组:就是元素为一位数组的一个数组
B:格式:
A:二维数组:就是元素为一位数组的一个数组
B:格式:
1)格式1:
数据类型[][] 数组名 = new 数据类型[m][n];
m:表示这个二维数组有多少个一维数组
n:表示每一个一位数组的元素有多少个
注意:以下格式也可以表示二维数组
a.数据类型 数组名[][] = new 数据类型[m][n];
b.数据类型[] 数组名[] = new 数据类型[m][n];
2)格式2:
数据类型[][] 数组名 = new 数据类型[m][];
m:表示这个二维数组有多少个一维数组
列数没给,可以动态给,这一次是一个变化的列数
3)格式3:
a.基本格式:
数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,...},{元素1,元素2,...}......};
b.简化格式:
数据类型[][] 数组名 = {{元素1,元素2,...},{元素1,元素2,...}...};
C:练习:
1)遍历二维数组(外循环是一维数组个数,内循环式一维数组长度)
2)公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度: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,就是结果。
3)杨辉三角
分析:看这种图像的规律
A:任何一行的第一列和最后一列都是1
B:从第三行第二列开始,每一个数据是它上一行的前一列和它上一行的本列之和。
步骤:
A:首先定义一个二维数组。行数如果是n,我们把列数也先定义为n。
这个n的数据来自于键盘录入。
B:给这个二维数组任何一行的第一列和最后一列赋值为1
C:按照规律给其他元素赋值
从第三行第二列开始,每一个数据是它上一行的前一列和它上一行的本列之和。
D:遍历这个二维数组。
import java.util.Scanner; public class Demo01 { //定义方法 public static void yangHui(int[][] arr) { //给数组的每行第一个和最后一个赋值1 for (int i = 0; i < arr.length ; i++) { arr[i][0] = 1; arr[i][i] = 1; } //赋值 for (int i = 2; i < arr.length; i++) { for (int j = 1; j < i; j++) { arr[i][j] = arr[i-1][j-1] + arr[i-1][j];//上一行上一列+上一行本列 } } //输出 for (int i = 0; i < arr.length; i++) { //输出空格 for (int j = 0; j < arr[i].length - i - 1; j++) { System.out.print(" "+"\t"); } //输出三角 for (int j = 0; j <= i; j++) { System.out.print("\t"+arr[i][j]+"\t"); } System.out.println(); } } public static void main(String[] args) { //创建键盘录入 Scanner sc = new Scanner(System.in); //输入并获取n System.out.println("请输入一个数据n:"); int n = sc.nextInt(); //定义二维数组 int[][] arr = new int[n][n]; //调用方法 yangHui(arr); } }
![]()