描述
1. 二维数组的声明及定义:
语法:
数据类型[ ] [ ] 数组名称 = new 数据类型 [行数] [列数];
数据类型 数组名称[ ] [ ] = new 数据类型 [行数] [列数];
2. 二维数组的初始化
(1).静态赋值
int [ ] [ ] a={
{12,43,65}
{65,68,78}
{1,2,3}
};
int [ ] [ ] a= new int [ ] [ ]{ // [ ] [ ] 里面是不可以写行数和列数
{12,43,65}
{65,68,78}
{1,2,3}
};
(2).动态赋值
Scanner scan = new Scanner (System.in);
for(int i=0,i<a.length;i++){
for(int j=0;j<a[i].length;j++){
a[i] [j]=sanner.nextInt();
}
}
(3).二维数组元素的遍历
a.增强for循环
for(int[] t:a){
for(int x:t){
system.out.println(x);
}
}
b.普通for循环
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
Systen.out.println(a[i][j]);
}
}
静态赋值与遍历
package com.koi.month10.day19;
/**
* 描述:静态赋值与遍历
*/
public class Demo_1 {
public static void main(String[] args) {
int [] [] a=new int [] []{
{12,45,67,88},
{14,55,87,16},
{46,81,27,11}
};
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
}
}
动态赋值与遍历
package com.koi.month10.day19;
/**
* 描述:动态赋值与普通for循环的遍历
*/
import java.util.Scanner;
public class Demo_2 {
public static void main(String[] args) {
int [] [] a=new int [3] [4];
Scanner scan=new Scanner (System.in);
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.println("请输入"+(i+1)+"行"+(j+1)+"列");
a[i][j]=scan.nextInt();
}
}
System.out.println("数组元素的遍历");
for(int i=0;i<a.length;i++){//数组元素的遍历
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
scan.close();
}
}
二维数组求平均值
package com.koi.month10.day19;
/**
* 数组元素的平均值
*/
public class Demo_3 {
public static void main(String[] args) {
int [][] a=new int[][]{
{45,77,99},
{78,62,41},
{15,18,19}
};
System.out.println("数组元素的遍历");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
int sum=0;
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
sum+=a[i][j];
}
}
System.out.println("数组的平均值"+sum/9);
}
}
二维数组求对角线,除去对角线和四周元素
package com.koi.month10.day19;
import java.util.Scanner;
public class Demo_4 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int [][] a=new int[3][3];
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.println("请输入第"+(i+1)+"行"+(j+1)+"列元素");
a[i][j]=scan.nextInt();
}
}
System.out.println("数组元素的遍历");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
System.out.println("数组元素的对角线元素");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(i==j){
System.out.print(a[i][j]+"\t");
}
}
System.out.println();
}
System.out.println("数组除去对角线元素的遍历");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(i!=j){
System.out.print(a[i][j]+"\t");
}
}
System.out.println();
}
System.out.println("数组四周元素的遍历");
for(int i=0;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(i==0){
System.out.print(a[i][j]+"\t");
}
}
}
System.out.println();
for(int i=1;i<a.length-1;i++){
for(int j=0;j<a[i].length;j++){
if(j==0||j==2){
System.out.print(a[i][j]+"\t");
}
}
System.out.println();
}
for(int i=1;i<a.length;i++){
for(int j=0;j<a[i].length;j++){
if(i==a.length-1){
System.out.print(a[i][j]+"\t");
}
}
}
}
}