java -- 二维数组

这篇具有很好参考价值的文章主要介绍了java -- 二维数组。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基本概念

在Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。
Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。

创建及初始化

// 创建方式和数组相似 第一个中括号表示行,第二个中括号表示列
// 表示创建了拥有3个子数组且每个子数组都有两个元素的二维数组
int[][] arrarr1 = new int[3][2];
// 表示创建了拥有3个子数组, 但子数组全部为null 的二维数组
int[][] arrarr2 = new int[3][];
// 静态初始化, 创建二维数组并进行赋值操作
int[][] arrarr3 = new int[][]{{1,23},{23,56,1},{1,4,7}};
int[][] arrarr4 = {{1,23},{23,56,1},{1,4,7}};
// 特殊写法!!!
int[] x, y[]; // 此处 x是一维数组, y是二维数组

元素的获取

// 获取单个元素
System.out.println(arrarr3[1][2]);
// 1

// 查看arrarr2数组的元素
for (int[] arr : arrarr2) {
    System.out.println(arr);
}
/*
获取到arrarr2中数组的地址值
null
null
null
*/

for (int[] arr: arrarr3) {
    for (int a: arr) {
        System.out.print(a + " ");
    }
    System.out.println();
}
/*
1 23 
23 56 1 
1 4 7 
*/

为子数组赋值

arrarr2[0] = new int[2];
arrarr2[1] = new int[4];
arrarr2[2] = new int[1];
for (int[] arr : arrarr2) {
    for (int tmp : arr) {
        System.out.print(tmp + "\t");
    }
    System.out.println();
}
/*
0    0    
0    0    0    0    
0    
*/

练习

二维数组打印一个10行的杨辉三角

/*
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
第一行一个元素, 第n行有n个元素
每行的第一个元素和第二个元素都是1
从第三行开始 对于非第一个和最后一个元素的元素:
*/
yanghui[i][j] = yanghui[i - 1][j - 1] + yanghui[i - 1][j];
int[][] yangHui = new int[10][];
for (int i = 0; i < 10; i++) {
    yangHui[i] = new int[i + 1];
    for (int j = 0; j < yangHui[i].length; j++) {
        if (j == 0 || j == yangHui[i].length - 1) {
            yangHui[i][j] = 1;
        } else {
            yangHui[i][j] = yangHui[i - 1][j - 1] + yangHui[i - 1][j];
        }
    }
}
for (int i = 0; i < yangHui.length; i++) {
    for (int j = 0; j < yangHui[i].length; j++) {
        System.out.print(yangHui[i][j] + "\t");
    }
    System.out.println();
}

假设有一个矩阵为5行5列,该矩阵是由程序随机产生的100以内数字排列而成。下面使用二维数组来创建该矩阵,代码如下:文章来源地址https://www.toymoban.com/news/detail-411704.html

public class Test{
    public static void main(String[] args){
        int[][] matrix = new int[5][5];

        for(int i = 0; i < matrix.length; i++) {
            for(int j = 0; j < matrix[i].length; j++) {
                matrix[i][j] = (int)(Math.random() * 100);
            }
        }

        for(int i = 0; i < matrix.length; i++) {
            for(int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + "\t");
            }
            System.out.println();
        }
    }
}

到了这里,关于java -- 二维数组的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【考研数学】概率论与数理统计 —— 第三章 | 二维随机变量及其分布(1,二维连续型和离散型随机变量基本概念与性质)

    隔了好长时间没看概率论了,上一篇文章还是 8.29 ,快一个月了。主要是想着高数做到多元微分和二重积分题目,再来看这个概率论二维的来,更好理解。不过没想到内容太多了,到现在也只到二元微分的进度。 定义 1 —— 二维随机变量。设 X , Y X,Y X , Y 为定义于同一样本空

    2024年02月07日
    浏览(51)
  • 二维数组(java)

    一.什么是二维数组? (1)从定义的角度:学过一维数组的同学知道,对于一维数组的声明为  int [] arr; 同理,如果我们这样声名  int [][] arr ,那么此数组即为一个二维数组. (2)从形式的角度:二维数组其实就是每个元素为一个一维数组的数组,例如: int [][] arr={{0,0,0},{1,1,1},{2,2,2

    2023年04月21日
    浏览(42)
  • java -- 二维数组

    在Java中二维数组被看作数组的数组,即二维数组为一个特殊的一维数组,其每个元素又是一个一维数组。 Java 并不直接支持二维数组,但是允许定义数组元素是一维数组的一维数组,以达到同样的效果。 二维数组打印一个10行的杨辉三角 假设有一个矩阵为5行5列,该矩阵是由

    2023年04月12日
    浏览(32)
  • Java --- 二维数组

    2.1、求元素总和       

    2024年02月12日
    浏览(37)
  • 二维数组前缀和(JAVA)

    力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 暴力 双层for循环,遍历子矩阵。 前缀和算法:

    2024年02月09日
    浏览(44)
  • Java——一维数组和二维数组(主要详讲一维数组)

    目录 一维数组 创建,初始化,赋值 注意 一些数组的便捷使用方法 使用 .length得到数组长度 Arrays相关的使用 二维数组 文章某些地方会出现java与c语言的比较 文章内容参考韩顺平老师的课堂笔记 可以先创建再初始化,也可以创建的时候直接初始化。但是,如果选择先创建再

    2024年02月01日
    浏览(52)
  • Java对二维数组进行排序

    今天刷题时需要用到二维数组的排序,奈何一下想不起具体的写法了,那就浅浅复习总结一下吧,加深一下自己的印象。 主要可以分为三种写法: 1.运用Comparator的常规写法,例如:         上述代码提到的的o1和o2可以理解为二维数组中的任意两个一维子数组,其中o1[0]与

    2024年02月09日
    浏览(51)
  • 利用二维数组输出一个3*4的矩阵的最大值及其所在的行、列

    利用二维数组输出一个3*4的矩阵的最大值及其所在的行、列 要输出矩阵如下: 核心:定义一个最大值的标志,一般我们把数组的第一个位置的数赋给最大值标志,然后遍历二维数组,每遍历到一个数时,将其与标志进行比较,若大于最大值标志,则将其的值赋给最大值标志

    2024年01月23日
    浏览(52)
  • 新手入门Java数组排序及二维数组(有练习)

    1.数组的定义方式都有哪几种 2.基本数据类型的数组中默认值分别是什么 byte[] short[] int[] long[] double[] float[] boolean[] char[] String[] 0 0 0 0 0.0 0.0f flase ‘u0000’ null 3.数组有哪些特征 数组一旦赋值,长度就固定下来了,不可再改变。数组的最大下标是数组的长度-1.数组下标从0开始

    2024年02月01日
    浏览(52)
  • 分享用 vector的vector实现一个二维数组并初始化的逆置矩阵问题

    目录 题目名称 867.转置矩阵 1.题目 2.题目分析 3.题目知识点 3.1vector的构造函数 3.2vector构造二维数组 最后💐 推荐阅读顺序: 1.题目-2.题目分析-3.题目知识点 如果矩阵 matrix为 m 行 n列,则转置后的矩阵 matrixT为 n行 m列,且对任意 0≤im和 0≤jn,都有 matrixT[j][i]=matrix[i][j] 创建一个

    2024年01月17日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包