关于java的多维数组

关于java的多维数组

在前面的文章中,我们了解了数组的使用,我们之前所了解的数组是一维数组,本篇文章我们来了解一下二维数组,多维数组😀

一、二维数组

  • 首先我们知道一维数组的声明和创建的方式是。
int array = new int[数组的长度];
  • 二维数组的声明和创建方式是这样的。
int array[][] = new int[2][3]; //这里的长度只是用于举例。
  • 二维数组其实可以看成,是数组的数组,二维数组就是一个特殊的一维数组,每个元素都是一个一维数组😀。

在这里插入图片描述

  • 解析:上述的int [2] [3] 可以理解为两行三列的数组,也就是数组的嵌套,大家可以理解一下。

  • 光看文字可能难以理解,我们直接用代码去理解🤔。

public class Demo
{public static void main(String[] args) {//四行两列/*1,2  array[0]2,3  array[1]3,4  array[2]4,5  array[3]*/int[][] array = {{1,2},{2,3},{3,4},{4,5}};System.out.println(array[0]);}
}

1、首先我们声明了一个二维数组array。

2、我们为array赋值,遵循上面说的4行两列的规则,就是4个小数组,每个小数组中有两个元素。

3、我们直接输出一下array[0],但是输出的结果是一个对象,就是一个数组。

[I@1b6d3586进程结束......

4、我们可以用之前写过的输出数组元素方法,来取出数组中的元素,先来回忆一下输出数组的方法。

public class Demo
{public static void main(String[] args) {printArrays();}//输出数组的方法public static void printArrays(int[] arrays){for(int i = 0; i<array.length;i++){System.out.print(array[i]+"\t");}}
}

5、我们用这个方法再输出一下array[0]😀

public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};printArrays(array[0]);}public static void printArrays(int[] arrays){for (int i = 0; i < arrays.length; i++){System.out.print(arrays[i]+"\t");}}
}
1 2进程结束......

6、我们再来用正常方式输出一下二维数组中的元素。

public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};System.out.println(array[0][0]);System.out.println(array[0][1]);}
}

我们可以看到,因为定义的是二维数组,如果只输出一维数组,程序会默认输出的是一个对象,如果输出的也是二维数组,就可以正常输出。

1
2进程结束.......

二、多维数组

我们上面了解了二维数组,同理,我们直接展示三维数组😀

public class Demo
{public static void main(String[] args) {int[][] array = {{{1,2},{2,3}},{{3,4},{4,5}}};System.out.println(array[0][0][0]);System.out.println(array[0][0][1]);}
}

我们执行以代码,可以看到,输出的结果。

1
2进程结束.......

四维数组也是同理,都是依次叠加的。

我们也可以直接输出以下数组的长度,这样更加便于理解😀

public class Demo
{public static void main(String[] args) {int[][] array = {{{1,2},{2,3}},{{3,4},{4,5}}};System.out.println(array.length);System.out.println(array[0].length);System.out.println(array[0][0].length);}
}

我们执行以代码,可以看到,输出的结果。

2
2
2

三、循环输出多维数组

我们之前写过输出一位数组中元素的方法,我们下面来写一个输出多维数组的方法

public class Demo
{public static void main(String[] args) {int[][] array = {{1,2},{2,3},{3,4},{4,5}};for(int i = 0; i<array.length;i++) //循环先输出外层{for(int j = 0; j<array[i].length;j++) //嵌套循环输出里层System.out.print(array[i][j]+"\t");}}
}

我们执行以下上述代码,输出的结果就是遍历了二维数组中的元素。

1	2	2	3	3	4	4	5	进程结束.......

总结

我们在日常生活中写代码,其实二维数组已经完全够用了,但是学一个东西就要全面一些,多维数组在这里可以理解就好,后边的文章中我们会说到面向对象,这个是我们最常用,最本质,也是最关键的东西😀

RainBow Brackets

在这里像小伙伴们偷偷介绍一个Idea工具里面,好用的插件

在这里插入图片描述

这个插件可以,让我们的括号,大括号小括号区分颜色,可以让我们一眼就看出来位置,不至于偶尔误删了一个括号找不到在什么地方😊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/329523.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql SQL审核平台Yearning本地部署

文章目录 前言1. Linux 部署Yearning2. 本地访问Yearning3. Linux 安装cpolar4. 配置Yearning公网访问地址5. 公网远程访问Yearning管理界面6. 固定Yearning公网地址 前言 Yearning 简单, 高效的MYSQL 审计平台 一款MYSQL SQL语句/查询审计工具&#xff0c;为DBA与开发人员使用…

Python和Java环境搭建

小白搭建全流程 首先不建议装在C盘&#xff0c;一旦重置电脑&#xff0c;之前安装第三方包需要重新安装 relolver :解释器 1、Python解释器安装 资源包&#xff1a; 1、 python -version java -version–用于查看是否安装 where python whrer java–用于查看安装的位置【非常…

【强力推荐】GitCode AI开源搜索,面向开发者的专业AI搜索

一、GitCode AI开源搜索是什么&#xff1f; GitCode AI开源搜索 是面开发者的 AI 开源搜索工具&#xff0c;目的是为了帮助开发者快速寻找开源项目代码、解决开发问题和快速寻找答案&#xff0c;帮助开发者提升效率的同时利用代码仓托管能力建立自己个人知识库。 二、GitCode…

yolo 分割label格式标注信息图片显示可视化查看

参考: https://github.com/ultralytics/ultralytics/issues/3137 https://blog.csdn.net/weixin_42357472/article/details/135218349?spm=1001.2014.3001.5501 需要把坐标信息在图片上显示 代码 1)只画出了坐标边缘 import cv2 import numpy as np from random impor…

从新手到大师:四大编程范式解锁你的编码力!

编程&#xff0c;就是用代码跟计算机交流&#xff0c;告诉它我们想要它做什么。不同的编程范式就是不同的交流方式&#xff0c;每种方式都有自己独特的语法和规则。 今天&#xff0c;我们就来聊聊这四种主要的编程范式&#xff0c;它们分别是命令式、函数式、面向对象和声明式…

基于springboot的sql防注入过滤器

目录 何为SQL注入基于springboot的sql防注入过滤器 回到顶部 何为SQL注入 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严&#xff0c;攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句&#xff0c;在管理员不知情的情况下实现…

PMP过了就是中级职称?

&#x1f33b;PMP项目管理专业人士认证在全球范围内受到广泛认可&#xff0c;许多人就误以为获得PMP证书就等同于获得中级职称。但是&#xff0c;事实真的如此吗❓ 1️⃣PMP不属于职称认证 ✅PMP证书&#xff1a; 是由美国项目管理协会(PMI)颁发的专业认证&#xff0c;旨在证明…

有趣的前端知识(一)

推荐阅读 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;一&#xff09; 智能化校园&#xff1a;深入探讨云端管理系统设计与实现&#xff08;二&#xff09; 文章目录 推荐阅读HTML简介基础声明HTML标签标题段落注释水平线文本格式化标签超链接图像<i…

FlinkSQL中【FULL OUTER JOIN】使用实例分析(坑)

Flink版本&#xff1a;flink1.14 最近有【FULL OUTER JOIN】场景的实时数据开发需求&#xff0c;想要的结果是&#xff0c;左右表来了数据都下发数据&#xff1b;左表存在的数据&#xff0c;右表进来可以关联下发&#xff08;同样&#xff0c;右表存在的数据&#xff0c;左表进…

FastDFS安装与测试

目录 目标 版本 环境 官方文档 相关概念 安装FastDFS 启动FastDFS 关闭FastDFS 重启FastDFS 用命令测试上传文件 用命令测试下载文件 用命令测试删除文件 用HTTP的方式访问FastDFS中的文件 用HTTP的方式访问FastDFS中的文件整体流程 目标 在Linux服务器上搭建单…

vmlinux, vmlinux.bin, bzImage; cmake的find_package(Clang)新增了哪些变量( 比较两次记录的所有变量差异)

vmlinux, vmlinux.bin, bzImage cd /bal/linux-stable/ file vmlinux #vmlinux: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, BuildID[sha1]=b99bbd9dda1ec2751da246d4a7ae4e6fcf7d789b, not stripped #文件大小 20MB, 19940148Bfile ar…

【linux学习笔记】网络

目录 【linux学习笔记】网络检查、监测网络ping-向网络主机发送特殊数据包traceroute-跟踪网络数据包的传输路径netstat-检查网络设置及相关统计数据 【linux学习笔记】网络 检查、监测网络 ping-向网络主机发送特殊数据包 最基本的网络连接命令就是ping命令。ping命令会向指…