【JavaSE学习笔记】二维数组

·二维数组

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)遍历二维数组(外循环是一维数组个数,内循环式一维数组长度

【JavaSE学习笔记】二维数组_第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,就是结果。

【JavaSE学习笔记】二维数组_第2张图片

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);
	}
}
【JavaSE学习笔记】二维数组_第3张图片


你可能感兴趣的:(JavaSE,Java,二维数组,杨辉三角,循环嵌套,数组)