Java基础知识精通二维数组的应用

目录
  • 1.什么是二维数组
  • 2.定义格式
  • 3.二维数组的使用
  • 4.二维数组的遍历

本文章主要讲二维数组定义,用法。

1.什么是二维数组

在二维数组多个元素为一维数组的数组就称为二维数组

2.定义格式

格式一:

元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度];

int[][] a = new int[3][2];

解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素。

格式二:

元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][];

int[][] a = new int[3][];

解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数不确定。

格式三:

元素的数据类型[][] 数组的名字 = {{元素1,元素2,…}, {元素1,元素2,…}, …};

int[][]	a = {{1,2,3},{4,5},{5,6,7,8}};

解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数都不一样。

  • 第一个一维数组含有3个元素。
  • 第二个一维数组含有2个元素。
  • 第三个一维数组含有4个元素。

3.二维数组的使用

package shuzu;
public class erwei {
	public static void main(String[] args) {
		int[][] a = new int[3][];
		System.out.println(a);//[[I@7852e922 ,输出数组a的地址
		//由于未初始化每个数组,所以这三个数组为null.
		System.out.println(a[0]);//null
		System.out.println(a[1]);//null
		System.out.println(a[2]);//null
		int[] a_1 = {1,2,3}; //定义一个a_1一维数组。
		a[0] = a_1;			 //把a_1数组值赋给数组a第一个一维数组。
		int[] a_2 = {4,5};	//定义一个a_2一维数组。
		a[1] = a_2;			//把a_2数组值赋给数组a第二个一维数组。
		int[] a_3 = {6,7,8,9};
		a[2] = a_3;
		System.out.println(a[0]);//[I@4e25154f ,输出第一个一维数组的地址
		System.out.println(a[1]);//[I@70dea4e  ,输出第二个一维数组的地址
		System.out.println(a[2]);//[I@5c647e05 ,输出第三个一维数组的地址
		//下面程序是输出数组的元素:
		System.out.println(a[0][0]);//1  输出的是第一个数组第一个元素
		System.out.println(a[0][1]);//2  输出的是第一个数组第二个元素
		System.out.println(a[0][2]);//3  输出的是第一个数组第三个元素
		System.out.println(a[1][0]);//4  同理输出的是第二个数组第一个元素
		System.out.println(a[1][1]);//5
		System.out.println(a[2][0]);//6  同理输出的是第三个数组第一个元素
		System.out.println(a[2][1]);//7
		System.out.println(a[2][2]);//8
		System.out.println(a[2][3]);//9
		}
	}

4.二维数组的遍历

for each循环语句不能自动处理二维数组中每一个元素,因为它会处理行,而每一个一维数组就是一个行,所以要循环二维数组每一个元素就要使用两个嵌套的循环,如下所示:

实例一:

// 使用格式:
for (double[] row : a)
	for(double value : row)
		do something with value
//实例:
double[][] arr = {{1,2,5,4},{4,2,5,7},{3,6,9,4}};
for (double[] row : arr)   //循环有多少个元素,这里的元素指的是一维数组,这点要搞清楚。
{
	for(double b : row)    //循环有多少个元素,这里的元素指的是每个一维数组里的元素。
		System.out.print(b+" "); //打印出每个数组的元素。
		System.out.println();    //换行
}

//输出结果:
1.0 2.0 5.0 4.0 
4.0 2.0 5.0 7.0 
3.0 6.0 9.0 4.0

实例二:

int[][] a = {{1,2,3}, {4,5}, {5,6,7,8}};
for(int i = 0; i < a.length; i++)		//这个结构原理跟上面的大致相同,不同的是对元素的下标有限制。
{
	for(int j = 0; j < a[i].length; j++)  //循环第i数组的元素。
		System.out.print(a[i][j] + " ");  //输出第i数组第j个元素。
	    System.out.println();			  //换行。
}

//输出结果:
1 2 3 
4 5 
5 6 7 8

结束语

本文章是介绍二维数组的定义,用法等一些常用的方法,到这里基础知识就全部结束啦

到此这篇关于Java基础知识精通二维数组的应用的文章就介绍到这了,更多相关Java二维数组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java数组的定义、初始化、及二维数组用法分析

    本文实例讲述了Java数组的定义.初始化.及二维数组用法.分享给大家供大家参考,具体如下: 数组的定义 1.数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来做唯一标识. 数组的分类 一维数组 二维数组 多维数组 数组的优点: 例如:定义100个整型变量.用数组很方便. 数组声明: 1.int [] array; 2.int array []; 数组的声明以及内存的分配 1.为数组分配内存空间,如果不分配内存,将不能访问它的任何元素.我们使用new关键字来为数组分配内存空间. int

  • Java二维数组简单定义与使用方法示例

    本文实例讲述了Java二维数组简单定义与使用方法.分享给大家供大家参考,具体如下: Java的二维数组是先创建一个一维数组,然后该数组的元素再引用另外一个一维数组.在使用二维数组的时候,通过两个中括号[]来访问每一层维度的引用,直到访问到最终的数据. public class MultiDimArray{ /** * @param args */ public static void main(String[] args) { int[][] arr = new int[3][]; arr[0]

  • java定义二维数组的几种写法(小结)

    如下所示: //定义二维数组写法1 class numthree { public static void main(String[] args) { float[][] numthree; //定义一个float类型的2维数组 numthree=new float[5][5]; //为它分配5行5列的空间大小 numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1 numthree[1][0]=1.2f; // 2行1列=1.2 numthree[2][0]=1.3

  • Java基础知识精通二维数组的应用

    目录 1.什么是二维数组 2.定义格式 3.二维数组的使用 4.二维数组的遍历 本文章主要讲二维数组定义,用法. 1.什么是二维数组 在二维数组多个元素为一维数组的数组就称为二维数组 2.定义格式 格式一: 元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度]: int[][] a = new int[3][2]; 解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素. 格式二: 元素的数据类型[][] 数组的名字 = new 元素的数据

  • Java基础语法之二维数组详解

    一.二维数组 进入正题之前.首先为了便于大家理解,我画了一个图: xx枪战游戏中, 我是一个刚刚注册账号的小白,系统送了我两把枪,此时,我的武器库只有这么一层(可以理解为一位数组,枪就是对应的数组中对应的元素) 经过艰苦卓绝的战斗,终于有了一笔钱,现在我打算配置好的游戏装备,我现在有了一个枪柜,它可以存放三层的枪械,每一层都可以放多把武器(这个就是二维数组,有多层,每层都是一个一维数组) 随着游戏时长和我的高超技术,获取游戏装备的效率越来越高了,一个枪柜已经存不下了,于是,我就有了多个枪柜(这个

  • Java基础知识精通数组的使用

    目录 1.数组 2.数组定义格式 3.访问数组 4.遍历数组 前言:本文章正式踏入数组部分,今天来讲一下数组. 1.数组 数组是一组数据结构,用来储存一组相同类型值的集合. 数组就是一个容器. 数组就是个引用数据类型. 作用: 用来装数据,方便对数据进行管理操作. 特点: 一旦创建数组,就不能改变长度. 数组里面所有的元素的类型必须是相同数据类型的. 数组中既可以储存基本数据类型,也可以存储引用数据类型. 2.数组定义格式 格式一:元素的数据类型[] 数组的名字 = new 元素的数据类型[元素

  • Java基础知识精通注释与数据类型及常量与变量

    目录 一. 注释 1.简介 2.类型 1.单行注释 2.多行注释 3.文档注释 3.注意事项 二.数据类型 1.简介 2.整型 3.浮点类型 4.char类型 5.boolean类型 三.常量与变量 1.常量 2.变量 一. 注释 1.简介 注释就是一种解释程序的文本,提高代码的可读性,帮助我们查找错误,不会影响程序的运行,不用担心可执行代码变得多. 2.类型 1.单行注释 单行注释是最常用的,格式://注释的内容. 用法如下: package day1; public class Demo01

  • Java基础知识精通块作用域与条件及switch语句

    目录 前言 块作用域 条件语句 格式一 格式二 格式三(常用) switch语句 前言 本文章主要讲解控制流程:块作用域.条件语句.switch语句,篇幅不大,通俗易记. 块作用域 在深入学习控制结构前,须先了解块的作用. 定义:由多条Java语句组成的语句,并用一对大括号括起来. 作用:块确定了变量的作用域,一个块可以嵌套在另一个块上. 实例: package decom1; public class cuowu { public static void main(String[] args)

  • Java基础知识精通各种运算符

    目录 前言 一.算数运算符 1.简介 2.运用 + - * / % 二.自增自减运算符 ++ – 三.赋值运算符 四.关系运算符 五.逻辑运算符 &(单与) | (单或) ^(异或) !(非) &&(双与) || (双或) 六.位运算符 七.三元运算符 前言 本文章主要集中讲解运算符,篇幅较长,请耐心看完绝对通俗易懂. 一.算数运算符 1.简介 再Java中,使用算术运算符 +.-.*./.%分别代表加减乘除,取模. 2.运用 + 在java中+有三种:1.正常的运算.2.作为正负

  • java高效打印一个二维数组的实例(不用递归,不用两个for循环)

    打印1个元素,不让循环变量i++,走出思维定式(执行一次循环体,就i++).public class OneForPrint2DArr { public static void main(String[] args) throws Exception { int[][] a = { { 1, 2, 3 }, { 4, 5} }; for (int i = 0, j = 0; i < a.length;) { System.out.println(a[i][j]); j++; if (j >=

  • Java编程实现的二维数组转置功能示例

    本文实例讲述了Java编程实现的二维数组转置功能.分享给大家供大家参考,具体如下: /** * 实现二维数组的转置 * @author HAN * */ public class transposition_Arrays2D_ch6_4 { final static double PI=3.1415; public static void main(String[] args) { /*StaticTest st1=new StaticTest(); StaticTest st2=new Sta

  • 详解Java中一维、二维数组在内存中的结构

    前言 我们知道在Java中数组属于引用数据类型,它整个数组的数组元素既可以是基本数据类型的(如 byte \ int \ short \ long \ float \ double \ char \ boolean 这些),也可以是引用数据类型的.当它的数组元素是基本数据类型时,这个数组就是一个一维数组:当它的数组元素是引用数据类型时,它就是一个多维数组.比如,在一个数组中它的某个元素值其实是一个一维数组,而其他不同的元素也各自包含了一个一维数组,我们就把这个包含很多个一维数组的数组叫做二维数组

  • 利用Java如何实现将二维数组转化为链式储存

    目录 链式存储结构 代码思路 代码实现 输出结果 总结 链式存储结构 链式存储结构的线性表将采用一组任意的存储单元存放线性表中的数据元素.由于不需要按顺序存储,链表在插入.删除数据元素时比顺序存储要快,但是在查找一个节点时则要比顺序存储要慢. 使用链式存储可以克服顺序线性表需要预先知道数据大小的缺点,链表结构可以充分利用内存空间,实现灵活的内存动态管理.但是链式存储失去了数组随机存取的特点,同时增加了节点的指针域,空间开销较大. 下图就是最简单最一般的单向链表: 代码思路 将二维数组压缩成链式存

随机推荐