Java程序设计入门教程 -- 二维数组

news2024/12/23 3:23:18

二维数组创建

定义数组

    声明二维数组

        Java中二维数组的声明格式:

        数据类型名[ ][ ]   数组名;           数据类型名  数组名[ ][ ];

    分配数组内存

          常用格式:

          new  数组名[ M][N ] ;  //MN为数组行号和列号

    分配数组内存

          1)规则二维数组:可以直接为每行元素分配空间

double[][] b; 
b=new double[2][3]; 
double a[][]=new double[2][3];

           2)不规则二维数组:通常从首行开始,分别为每一行元素分配空间

int a[ ][ ]=new int[3][]; 
a[0]= new int[2]; 
a[1]= new int[3]; 
a[2]= new int[4]; 
Student s[ ][ ] = new Student[2][ ]; 
s[0]= new Student [1];
 s[1]= new Student [2]; 
s[0][0]= new Student();

    数组元素引用

           二维数组元素的引用格式为:   

                            数组名[元素行下标] [元素列下标]

注意,对于一个MN列的二维数组来说,其任何元素的行下标都只能在[0,M-1]的范围内取值,列下标只能在[0N-1]范围内取值。

比如:

        定义规则二维数组 
        int a[][]=new int[2][3];
        则其元素的引用:    a[0][0]  //ok       a[0][3]  //error
                                       a[0][2]  //ok       a[2][3]  //error

 

数组初始化

       二维数组初始化的时候,可以把每一行数据用一对{}括起,不同行数据间用逗号隔开。此时一个二维数组是否规则,完全依赖于其初始化数据的状况

int intArray_1[ ][ ]={{1,2},{2,3},{3,4}}; 
//定义了一个3行2列的规则二维数组,共有6个元素
int intArray_2[ ][ ]={{1,2},{2,3},{3,4,5}}; //定义了一个3行的不规
则二维数组,第一行2个元素,第二行2个元素,第三行3个元素,共7个元素

二维数组遍历

        对于二维数组的遍历,是指访问一个二维数组中的每一个元素。

        由于二维数组的数据排列具有行列关系,所以二维数组的长度(即length属性)实质上是指其包含的行数,而每一行的长度实质上是指该行数据包含的列数,访问格式如下:

                  数组名.length

                  数组名[行下标].length

通过访问数组长度和行长度,可以方便的遍历一个二维数组。

利用二重for循环访问数组长度和行长度,可以方便的遍历一个二维数组:
 

    int arr[][] = { { 1 }, { 2, 3 }, { 4, 5, 6 } };
    for (int x = 0; x < arr.length; x++) {
	for (int y = 0; y < arr[x].length; y++)
                          System.out.print(arr[x][y] + "、");
                System.out.println("");		
     }

案例:

       矩阵的转置,即将二维数组行列元素互换位置,形成一个新的二维数组存到另一个数组中

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python的几次方符号介绍

Python的几次方符号介绍 当我们在使用Python编程时&#xff0c;经常需要进行数学计算。其中最常见的计算就是幂运算。Python使用幂运算符号来表示一个数的几次方。这个符号既可以用在数字之间&#xff0c;也可以用在变量之间。在本文中&#xff0c;我们将介绍Python中的几次方…

堆基础1_小白垃圾笔记

小白垃圾笔记&#xff0c;不建议阅读。 目录 1.什么是堆&#xff1f; 2.堆从哪里来&#xff1f; 3.堆管理器是什么 4.堆申请的实现方式 1.brk&#xff1a;brk仅仅主线程申请小空间的时候用&#xff0c;子线程不可调用brk。 2.mmap&#xff1a;主线程申请大的内存的时候和…

Mysql小知识 delete 清空表之后,磁盘空间未发生变化?

1. 删除空洞 1.1 案例展示 首先我们先来看这样一个例子。 我现在有一个名为 sakila 的数据库&#xff0c;该库中有一个 film 表&#xff0c;这个表中有 1000 条记录&#xff0c;我么先来看下这 1000 条记录占用了多少存储空间&#xff1a; 小伙伴们可以看到&#xff0c;这个…

Go-FastDFS 本地对象存储,Windows环境搭建(下载安装教程)!

文章目录 Go-FastDFS简介与地址下载安装服务与管理端台可视化测试 Go-FastDFS简介与地址 go-fastdfs 是一个基于 http 协议的分布式文件系统&#xff01; 它基于大道至简的设计理念&#xff0c;一切从简设计&#xff0c;使得它的运维及扩展变得更加简单&#xff0c;它具有高性…

Elasticsearch:使用带有 X-Opaque-Id 的慢速查询功能在 Elasticsearch 中调试慢速查询

如果你在软件堆栈中使用 Elasticsearch&#xff0c;你可能已经意识到 Elasticsearch 管理大量数据和提供实时搜索功能的强大能力。 了解 Elasticsearch 中的慢速查询 Slow Log 是 Elasticsearch 的内置功能&#xff0c;可用于识别慢速搜索。 任何花费时间超过预期的请求都会记…

Paper reading: Conditional Diffusion for Interactive Segmentation ICCV2021

交互式语义分割 We propose Conditional Diffusion Network (CDNet), which propagates labeled representations from clicks to conditioned destinations with two levels of affinities: Feature Diffusion Module (FDM) spreads features from clicks to potential targ…

单例模式-图文详解

概念 全世界就只要一个---在整个java程序中&#xff0c;只有这个类的一个实例 比如Student a new Student(); 就是Student类只创建这一个实例&#xff0c;只能有这一个对象存在 主要解决&#xff1a;一个全局使用的类频繁地创建与销毁。在内存里只有一个实例&#xff0c;减…

【白话机器学习系列】白话张量

白话张量 张量&#xff08;Tensor&#xff09;是向量和矩阵向 n n n 维的推广。向量是一维张量&#xff0c;矩阵是二维张量。张量作为数值容器&#xff0c;是机器学习&#xff0c;尤其是深度学习中最基础的操作对象&#xff0c;以至于 Google 的机器学习框架都已 TensorFlow …

ffmpeg在windows环境下的详细安装教程

这两天整理好用的录屏软件&#xff0c;发现了Captura这个软件&#xff0c;软件本身的安装很简单&#xff0c;但由于Captura需要依赖ffmpeg&#xff08;一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序&#xff09;&#xff0c;而ffmpeg在安…

springboot X-Accel-Redirect 大文件下载实现

文章目录 前言一、什么是 X-Sendfile&#xff1f;二、相关请求头说明三、食用步骤总结 前言 文件下载的方式&#xff1a; nginx代理附件路径&#xff0c;直接访问。无法控制用户的权限。服务端流式读取文件内容。这个过程需要后端进程将文件读取到内存中然后再发给用户&#…

全民开发|零代码平台搭建库存管理系统,助力企业降本增效

什么是库存管理系统 库存管理系统是一种用于监控和跟踪商业组织存货的系统机软件。它帮助企业管理其库存&#xff0c;确保所需的商品和服务始终可用&#xff0c;并在需要时提供报告和预测。库存管理系统可追踪库存级别、库存周转率、订单、销售和交付等方面的数据&#xff0c;…

LIS系统源码

LIS系统(Laboratory Information System) 即实验室&#xff08;检验科&#xff09;信息系统&#xff0c;它是医院信息管理的重要组成部分之一&#xff0c;自从人类社会进入信息时代&#xff0c;信息技术的迅速发展加快了各行各业现代化与信息化的进程。LIS系统逐步采用了智能辅…

​​​​Linux Shell 实现一键部署postgres15

postgres 前言 PostgreSQL 是一个功能强大的开源对象关系数据库系统&#xff0c;拥有超过 35 年的积极开发经验 这为其赢得了可靠性、功能稳健性和性能的良好声誉。 通过官方文档可以找到大量描述如何安装和使用 PostgreSQL 的信息。 开源社区提供了许多有用的地方来熟悉Postg…

【是德出品,必属精品】示波器探头的11个误解

误解1. 100 MHz 的“信号”&#xff0c;使用 100 MHz 的示波器探头。 示波器探头带宽与配合它们使用的示波器带宽采用相同的方法进行规定&#xff0c;即产品响应的 -3dB 点。举例来说&#xff0c;如果使用 100 MHz 带宽的探头测量 100 MHz 1Vpp 正弦波&#xff0c;那么探头输出…

挖掘算力产业的创新力量和新型机遇|2023 开放原子全球开源峰会先进计算分论坛即将启幕

随着高新技术激发出磅礴的发展势能&#xff0c;海量的算力需求也在不断提升。如何升级和创新现有算力格局&#xff0c;打造多维感知、异构计算、智能调度的先进计算算力网&#xff1f;如何真正实现 “打破算力烟囱”、让算力像水和电一样流动起来&#xff1f;已成为时下焦点话题…

提升倾斜摄影三维模型数据的几何坐标纠正和三维重建速度具体技术方法探讨

提升倾斜摄影三维模型数据的几何坐标纠正和三维重建速度具体技术方法探讨 倾斜摄影三维模型数据的几何坐标变换和三维重建是一项非常耗时的任务&#xff0c;因此如何提高其速度一直是研究的重点。以下是一些实现倾斜摄影三维模型数据的几何坐标变换和三维重建速度的方法&#x…

网站建设对企业会有什么影响

随着互联网的发展&#xff0c;如今网络的普及&#xff0c;很多企业都开始搭建网站&#xff0c;以便展示自己的企业形象和产品。很多企业会认为&#xff0c;网站建设是一件很麻烦的事情&#xff0c;如果需要在网上宣传的话&#xff0c;就用一个链接来做好了。实际上不是这样的&a…

Linux 系统大技能,搞定 90% 日常运维

一、Linux 系统日常运维九大技能 1、安装部署 方式&#xff1a;U盘&#xff0c;光盘和网络安装 其中网络安装已经成为了目前批量部署的首选方式&#xff1a;主要工具有Cobbler和PXEkickstart 可以参考如下链接内容&#xff1a; http://www.cnblogs.com/mchina/p/centos-px…

智能语音信息处理团队14篇论文被语音技术顶会Interspeech 2023接收

近日&#xff0c;Interspeech 2023会议发出了审稿结果通知&#xff0c;语音及语言信息处理国家工程研究中心智能语音信息处理团队共14篇论文被会议接收&#xff0c;论文方向涵盖语音识别、语音合成、话者识别、语音增强、情感识别、声音事件检测等&#xff0c;各接收论文简介见…

WordPress主题Modown_v8.7主题免授权+Erphpdown15.21+团购+第三方登录

团购内置在主题里面了已不需要安装插件了,官方带免费子主题,主题无需授权和其他操作,安装启用即可免授权使用 主题简介 Modown是模板兔基于Erphpdown wordpress下载插件开发的一款全新的针对收费付费下载资源/付费查看内容/VIP会员免费下载查看/虚拟资源售卖的WordPress主题…