Java 数组(三)二维数组
如果一维数组的各个元素仍然是一个数组,那么它就是一个二维数组。二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标代表所在的列。
一、二维数组的创建
1、先声明,再用 new 运算符进行内存分配
声明语法格式:
数组元素的类型 数组名字[][];
数组元素的类型[][] 数组名字;
分配内存语法:
数组名字 = new 数组类型[][]
a = new int[2][4]; // 直接给每一维分配内存空间
b = new int[2][]; //分别为每一维分配内存,这种方式列可省,行不可省
a[0] = new int[2];
a[1] = new int[3];
2、声明的同时为数组分配内存
数组元素的类型 数组名字[][] = new 数组元素的类型[][]
二、二维数组的初始化
二维数组的初始化与一位数组初始化类似,同样使用大括号完成。
语法格式:
type arrayname[][] = {{value1,value2},{value1,value2}}
- type:数组数据类型;
- arrayname:数组名称,一个合法的标识符;
- value:数组中各元素的值。
三、使用二维数组
使用二维数组常见的就是遍历数组,介绍两种遍历数组的方法。
先来学习一下各种表示方法:
表示二维数组的行数: 二维数组名.length
表示一行: 二维数组名[行下标] (行下标的范围:[0,二维数组总行数 - 1])
表示每一行的列数: 二维数组名[行下标].length
表示具体的一个数据: 二维数组名[行下标][列下标] (列下标的范围:[0,该行总列数 - 1])
1、使用 for 循环遍历
2、使用 foreach 循环遍历
下面的案例详细介绍两种方式:
int array[][] = new int[3][4]; //创建一个3行4列的数组,并且里面值都为默认值
// 使用 for 循环
for(int i=0;i<array.length;i++) { // 第一个循环,循环每一行
for (int j=0;j<array[i].length;j++) { //第二个循环,循环每行的每一列
System.out.print(array[i][j]);
}
System.out.println();
}
// 使用 foreach
for(int a[]: array) { // 第一个循环,第一个参数代表循环中的类型,即数组,第二个参数为循环对象
for(int j: a) { // 循环上一个循环中的第一个参数中的每一个即可
System.out.print(j);
}
System.out.println();
}
Java 数组(三)二维数组的更多相关文章
- Java菜鸟学习笔记--数组篇(三):二维数组
定义 //1.二维数组的定义 //2.二维数组的内存空间 //3.不规则数组 package me.array; public class Array2Demo{ public static void ...
- Java中的二维数组
Java 中的二维数组 所谓二维数组,可以简单的理解为是一种"特殊"的一维数组,它的每个数组空间中保存的是一个一维数组. 那么如何使用二维数组呢,步骤如下: 1. 声明数组并分配空 ...
- java基础5 (一维)数组和二维数组
本文知识点(目录): 一维数组(一维数组的概念.优点.格式.定义.初始化.遍历.常见异常.内存分析以及常见操作(找最大值.选择排序.冒泡排序等等)) 二维数组(二维数组的遍历.排序.查找.定义. ...
- 【转】java中定义二维数组的几种写法
原文链接 注:以下的 type[][] var 也可以这样申明 type var[][] type为数组的类型,var为变量名 写法一:行列固定的数组 //定义二维数组写法1 class Test { ...
- 一维数组、二维数组——Java
一. 一维数组 1. 数组是相同类型数据的有序集合 相同类型的若干个数据,按照一定先后次序排列组合而成 每个数组元素可以通过一个下标来访问它们 其中,每一个数据称作一个数组元素 2. 数组特点: 其 ...
- 062 01 Android 零基础入门 01 Java基础语法 07 Java二维数组 01 二维数组应用
062 01 Android 零基础入门 01 Java基础语法 07 Java二维数组 01 二维数组应用 本文知识点:二维数组应用 二维数组的声明和创建 ? 出现空指针异常 数组的名字指向数组的第 ...
- java学习之二维数组
java当中的二维数组,存储一组比较特殊的对象.他存储一个数组,同时存储的数组当中又存储着元素. java二维数组的声明方式一: class Arr2Demo { public static void ...
- java - day005 - 数组工具类, 数组复制,二维数组,变量,方法, 面向对象
1. java.util.Arrays 数组工具类 Arrays.toString (数组) 数组值链接字符串 Arrays.sort(数组) 基本类型: 优化的快速排序 引用类型: 优化的合 ...
- Java数组之二维数组
Java中除了一维数组外,还有二维数组,三维数组等多维数组.本文以介绍二维数组来了解多维数组. 1.二维数组的基础 二维数组的定义:二维数组就是数组的数组,数组里的元素也是数组. 二维数组表示行列二维 ...
- JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数
JAVA生成一个二维数组,使中间元素不与相邻的9个元素相等,并限制每一个元素的个数 示例如下 至少需要九个元素:"A","B","C",&q ...
随机推荐
- postgres9.5.3升级postgres11.6
附上postgres下载地址: https://yum.postgresql.org/11/redhat/rhel-7-x86_64/repoview/postgresqldbserver11.gro ...
- 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL 介绍
原文地址
- Codeforces Round #605 (Div. 3) E - Nearest Opposite Parity (超级源点)
- CF 494E Sharti
CF 494E Sharti 题意:一个\(n \times n\)的棋盘,共有m个矩形中的格子为白色.两个人需要博弈,每次操作选择一个边长不超过k的正方形并翻转颜色,每次翻转需要正方形的右下角为白色 ...
- 使用docker部署nginx+tomcat架构
架构说明: 使用nginx+tomcat实现动态/静态(资源请求)分离和负载均衡. 参考文档: https://www.runoob.com/docker/docker-tutorial.html 配 ...
- Perl 使用perl命令批量替换文件内容
对linux系统下面多个文本文件内容做处理,是SA经常需要完成的工作.如何高效的完成这个工作,perl应该是一个不错的语言工具.你甚至不需要编写perl脚本,用命令就可以完成上面的工作. perl 命 ...
- POI开发:Java中的Excel相关操作
一.Apache POI 1.简介: Apache POI支持大多数中小规模的应用程序开发,提供API给Java程序对Microsoft Office格式档案读和写的功能,呈现和文本提取是它的主要特点 ...
- 聊聊对称/非对称加密在HTTPS中的使用
目前常用的加密算法主要分成三类: 对称加密算法 非对称加密算法 消息摘要算法 在互联网中,信息防护主要涉及两个方面:信息窃取和信息篡改.对称/非对称加密算法能够避免信息窃取,而消息摘要算法能够避免信息 ...
- 使用vue搭建应用三引入scss
Css.Sass.Scss的含义及区别 Css(Cascading Style Sheets) 层叠样式表 Sass(Syntactically Awesome StyleSheets) 是一款强化 ...
- Shell脚本之七 选择、循环结构
一.if else if 语法格式 if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $(ps -e ...