二维数组的常规操作
1.数组的介绍和定义
public class Application {
public static void main(String[] args) {
//二维数组:其实就是数组元素为一维数组的数组
//3表示我们定义了一个二维数组,他的长度是3
//2我们二维数组数组里面有三个一维数组,每个一维数组的长度是2
//动态初始化
int [][] ar1=new int[3][2];
System.out.println(ar1);
System.out.println(ar1[0]);
System.out.println(ar1[0][1]);
//给二维数组里面的每个元素重新赋值
ar1[0]=new int[2];
ar1[1]=new int[2];
ar1[2]=new int[2];
System.out.println(ar1[0]);
System.out.println("==============");
//静态初始化
int[][] ar2=new int[][]{{1,2},{3,2},{5,7}};//由我们为数组元素赋值,由系统计算长度
//二维数组静态初始化的几种书写方式
int[][] ar3={{1,2},{3,2},{5,7}};//由我们为数组元素赋值,由系统计算长度
int ar4[][] ={{1,2},{3,2},{5,7}};//由我们为数组元素赋值,由系统计算长度
int[] ar5[]={{1,2},{3,2},{5,7}};//由我们为数组元素赋值,由系统计算长度
System.out.println(ar2[0][1]);
System.out.println(ar2[ar2.length-1][ar2[ar2.length-1].length-1]);//数组最后一个元素的索引
System.out.println(ar3[ar3.length-1][ar3[ar3.length-1].length-1]);//数组最后一个元素的索引
int [] g,z[];//定义了两个数组,一个一维数组g,一个二维数组z
g=new int[1];
z=new int[2][1];
}
}
2二维数组的遍历
public class Application {
public static void main(String[] args) {
//二维数组的遍历
int a[][]={{1,11,111},{2,22,222},{3,33,333}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.println(a[i][j]);
}
}
}
}
3二维数组的练习
3.1案例1:
要求:公司年销售额求和
某公司按照季度和月份的统计的数组如下:单位(万元)
第一季度:22,66,44
第一季度:77,33,88
第一季度:25,45,65
第一季度:11,66,99
public static void main(String[] args) {
//二维数组的遍历
int sum=0;
int a[][]={{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
sum=sum+a[i][j];
}
}
System.out.println("司年销售额"+sum+"万元");
}
}
3.2案例2:
打印杨辉三角形(行数可以键盘录入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
import java.util.Scanner;
public class Application {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
System.out.println("请输入行数");
int n=sc.nextInt();
int [][] arr=new int[n][n];
//把每一行和最后一行设置为1
for (int i = 0; i < arr.length; i++) {
arr[i][0]=1;
arr[i][i]=1;
}
//设置中间元素
//2.从第三行开始,从第二列开始,这个数字等于他上一行的前一列的和上一行的本列之和
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];
}
System.out.println();
}
//遍历二维数组
for (int i = 0; i < arr.length ; i++) {
for (int j = 0; j <=i; j++) {
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}