Java基础知识精通二维数组的应用
作者:猿界的小皮皮 发布时间:2022-02-03 03:01:28
标签:Java,二维数组,定义
本文章主要讲二维数组定义,用法。
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
来源:https://blog.csdn.net/qq_43355770/article/details/124105512


猜你喜欢
- 实例如下:import java.util.concurrent.CountDownLatch;import java.util.concu
- KMP算法是一种神奇的字符串匹配算法,在对 超长字符串 进行模板匹配的时候比暴力匹配法的效率会高不少。接下来我们从思路入手理解KMP算法。在
- 本文为大家分享了Java实现班级管理系统的具体代码,供大家参考,具体内容如下需求:班级管理系统功能:对学生的信息进行管理1 登录系统 &nb
- 本文实例讲述了WinForm实现仿视频播放器左下角滚动新闻效果的方法。分享给大家供大家参考。具体实现方法如下:using System;us
- C#处理猜拳问题的简单实例(非窗体)//猜拳,5局3胜,要求使用公用变量。namespace 结构体复习_公用变量{class Progra
- 引言C#5.0中async和await两个关键字,这两个关键字简化了异步编程,之所以简化了,还是因为编译器给我们做了更多的工作,下面就具体看
- 1. 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。传统爬虫从一个或若干初始网页的URL开始,获得
- 本文实例为大家分享了unity鼠标或者手指点击模型播放动的具体代码,供大家参考,具体内容如下using UnityEngine;using
- 一、DataTable转XML#region DataTableToXml /// &
- 本文实例为大家分享了Unity实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下一、演示二、实现思路创建每一个方块可移动到的位置点,可以
- 一、ListView该组件是android中最常用的一个UI组件,用于实现在屏幕上显示多个内容,以便于我们用手指来回翻转。先在layout中
- 跑起来的效果看每个类的test方法,自己调用来测试目的是看看哪个算法好用,移植的时候比较单纯没有研究懂算法,代码结构也没改动,只是移植到C#
- maven scope provided和runtime例子maven常用的scope有compile,provided,runtime,t
- 最近刚开始接触机器学习,在这里使用c#模拟一元线性回归,先上图看效果因为源码中有一些控件是自己封装的,所以就不上传可运行的程序集了,贴出核心
- MyEclipse *的下载,找到MyEclipse的各种历史版本下载页面:http://www.myeclipsecn.com/简单说下,
- 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。#include <s
- spring:1)开源框架2)IoC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合3)AOP 将安全,事务等
- 一:需求详情:OpenOffice.org 是一套跨平台的办公室软件套件,能在 Windows、Linux、MacOS X (X11)、和
- 流读取导致StringBuilder.toString()乱码乱码问题StringBuilder sb = new StringBuilde
- 导言代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已 ——《计算机程序的构造和解释(SICP)》 导言在我们的项目里经常会出现