java二维数组是什么?该怎么定义?

TheDisguiser 2020-05-15 21:08:10 java常见问答 9935

对于刚学习java的小伙伴们来说,数组一定不陌生吧,那你们知道二维数组是什么吗?它又该怎么定义呢?下面跟小编一起来看看吧。

一、什么是二维数组?

在数组中,一个数组的里元素都是数组的数组就是二维数组,简单的说,就是数组的数组。二维数组也可以叫做矩阵,行列数相等的矩阵称为方阵。对称矩阵a[i][j] = a[j][i],对角矩阵:n阶方阵主对角线外都是零元素。

例:

//定义一个二维数组,放六个人的学号及成绩
var arr = [];
//定义一个一维数组,该一维数组就是二维数组的元素
var sum = ["学号", "语文成绩", "数学成绩", "英语成绩"];
//定义一个人数
var num = 6;
//定义一个数组用来放新的元素
var newarr = [];
//给二维数组一维数组赋值
for (var i = 0; i < num; i++)
{
    < p = "" >
        //定义二维数组的第i个元素就是一个一维数组
        arr[i] = [];
    //数组赋值
    for (var j = 0; j < sum.length; j++)
    {
        < p = "" >
            //如果输入学号的话不一定是纯数字的
            if (sum[j] === "学号")
            {
                arr[i][j] = prompt("请输入" + sum[j]);
            }
        //如果是成绩直接将其变为数字
        else
        {
            arr[i][j] = parseInt(prompt("请输入" + sum[j]));
        }
    }
}
//对每个学生的成绩分别求和,求平均数(遍历二维数组)
for (var k = 0; k < arr.length; k++)
{
    < p = "" >
        //定义一个和
        var he = arr[k][1] + arr[k][2] + arr[k][3];
    //定义一个平均数
    var pjs = he / (arr[k].length - 1);
    //给新数组赋值
    newarr[k] = [he, pjs];
}
//输出结果
alert(newarr);

二、二维数组的定义及使用方法

#include<iostream>
#define pi 3
using namespace std;
 
int main() {
int *p = new int[5];
delete[] p;
 
/***************二维数组的定义方法***************/
//第一种
int m=3,n=4;
int **m1 = new int*[m];
for (int i = 0;i < m;++i) {
m1[i] = new int[n];
}
for (int i = 0;i < m;++i) {
delete[] m1[i];
}
delete[] m1;
   
 //第二种
//(i=0,j=0)访问m[i][j]时应该:m[i*n+j]
int *m2 = new int[m*n];
delete[] m2;

//第三种 内存如何释放?
int(*m3)[3] = new int[m][3];
delete[] m3;
system("pause");
return 0;
}

以上就是本文的所有内容了,如果想要了解更多Java入门知识的话,就请关注我们的网站吧。

推荐阅读:

java数组实现,java定义数组详解

调整数组顺序使奇数位于偶数前面(思路和实现)

java数组转list该怎么转型?java数组是什么?