二维数组/三维数组 定义
二维数组
/*
* 二维数组
* 1:定义,初始化
* int[][] arr2 = new int[3][3];
* 第1个3代表这个二维数组是由3个一维数组构成的
* 第2个3代表每个一维数组的元素的个数有3个
*
* 二维数组分类
* 1:规则二维数组:每个一维数组的元素个数相同
* 2:不规则二维数组:每个一维数组的元素个数不相同
* 2:遍历
* 普通for循环
* for---each
* 3:内存分配
* 4:二维数组的转置
* 原二维数组
* a b c d
* 00 01 02 03
* e f g h
* j j k l
*
*
*
*
*
*
* 二维数组的使用场合
* 1:2D游戏地图
* 2:省市联动
*
*/
public static void main(String[] args) {
String[][] pro = {
{"武汉市","黄冈市","黄石市"},
{"西安市","咸阳市","宝鸡市","延安市"}
};
//1:定义,初始化 动态初始化 根据数组的长度,确定数组的元素的个数
/*int[][] arr3 = new int[3][3];
arr[0][0] = 10;
arr[0][1] = 20;
arr[0][2] = 30;
arr[1][0] = 40;
arr[1][1] = 50;
arr[1][2] = 60;
arr[2][0] = 70;
arr[2][1] = 80;
arr[2][2] = 90;*/
//2:静态初始化 根据元素的个数,确定数组的长度
int[][] arr2 = new int[][]{{10,20,30},{40,50,60},{70,80,90}};
//静态初始化 根据元素的个数,确定数组的长度
int[][] arr = {
{10,20,30,100},
{40,50,60,110},
{70,80,90,120}
};
//外层循环的次数是二维数组中一维数组的的个数 普通for循环
for(int j = 0;j<arr.length;j++){
//里层循环的次数是每一个一维数组元素的个数
for(int i = 0;i<arr[j].length;i++){
System.out.println(arr[j][i]);
}
}
//双层 for-each
System.out.println("---------------------");
for (int[] is : arr) {
for (int i : is) {
System.out.println(i);
}
}
//不规则二维数组 先确定一维数组的个数 ,动态初始化
String[][] str = new String[3][];
//分别给每个一维数组,赋予长度
str[0] = new String[3];
str[1] = new String[4];
str[2] = new String[5];
//静态初始化
String[][] str2 = new String[][]{{"a"},{"b","c"},{"d","e","f"}};
String[][] str3 = {
{"a"},
{"b","c"},
{"d","e","f"}
};
}
三维数组
1.直接定义法,直接定义三维
int a[][][] = new int[1][1][1];
2.二维转三维,先定义若干二维,再直接填充进三维中.
public final static int[][] a0 = {
{ 0, 1, 2}, {3,4,5}, {4,6,7} };
public final static int[][] a1 = {
{ 0, 4, 6,}, {6, 8, 8, 6}, {8, 8, 6, 12, 14, 4, 4, 0} };
public final static int[][][] as = {a0,a1 };
二维数组/三维数组 定义相关推荐
- linux c语言 malloc动态分配指针,C语言malloc函数为一维,二维,三维数组分配空间...
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- c语言malloc申请三维数组,C语言malloc函数为一维,二维,三维数组分配空间
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- C语言malloc函数为一维,二维,三维数组分配空间
c语言允许建立内存动态分配区域,以存放一些临时用的数据,这些数据不必在程序的声明部分定义,也不必等到函数结束时才释放,而是需要时随时开辟,不需要时随时释放,这些数据存储在堆区.可以根据需要,向系统申请 ...
- js 一维数组转换成二维、三维数组
需求:后台接口返回一个一维数组,前端需要转换成一个二维,或者三维数组进行级联展示 举个例子: 根据产品类型可以分为:智能手机.耳机.智能家电... 其中智能手机中又可以分为: Ace系列,Reno系列 ...
- JAVA基础之二维数组三维数组及应用
二维数组 简单说明: 如何描述下面定义的二维数组 定义方式一: int[][] array = new int[3][4]; 描述:该二维数组中有三个一维数组 每一个一维数组中有4个元素打印二维数组的 ...
- HDU - 5517 Triple(三维偏序-二维树状数组/CDQ分治)
题目链接:点击查看 题目大意:给出 n 个二元对 ( a , b ) 和 m 个三元对 ( c , d , e ),对于所有 b == e 的二元对和三元对,可以通过某种运算形成一个新的三元对 ( a ...
- 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。...
//在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是'*',其余 位置存的是'#':输出这个数组中的所有元素.char [][]y=new char [10][10] ...
- python二维、三维、思维数组之间的转化
python二维.三维.思维数组之间的转化 import numpy as np# 假设你有一个二维数组,形状为(32,10000) gray = np.random.randint(0, 256, ...
- szu 寒训第二天 树状数组 二维树状数组详解,以及树状数组扩展应用【求逆序对,以及动态第k小数】
树状数组(Binary Index Tree) 树状数组可以解决可以转化为前缀和问题的问题 这是一类用以解决动态前缀和的问题 (有点像线段树简版) 1.对于 a1 + a2 + a3 + - + an ...
- [蓝桥杯][算法训练VIP]暗恋(二维树状数组)
题目描述 同在一个高中,他却不敢去找她,虽然在别人看 来,那是再简单不过的事.暗恋,是他唯一能做的事.他只能在每天课间操的时候,望望她的位置,看看她倾心的动作,就够了.操场上的彩砖啊,你们的位置,就是 ...
最新文章
- 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)
- 空类-自动生成的函数
- Flink笔记--深度全面总结
- codevs 3186 队列练习2
- php四种基础算法:冒泡,选择,插入和快速排序法PHP基础教程
- 我是不是得工作恐惧症了
- pytorch中保存和加载模型
- (转)量化投资大师采访摘录-詹姆斯·西蒙斯 James Simons
- C99标准的新特性介绍
- STC12C2052AD+TM1640+DS1302闹钟
- 盘点常见元器件级性识别方法
- STM32学习之红外遥控
- H5多点触控原理以及对多点触控的追踪
- 毕业旅行 | 伦敦5日游行程推荐
- IPAM——IP地址管理
- R语言基础学习记录4:重要函数
- win10 更新1809版后彻底关闭系统自动更新的方法
- 2015年6月9日晨_学习
- c语言基础知识(知识点较为完整)
- 【应用随机过程】07. 平稳过程
热门文章
- 1064用ctype库解决
- 使用STVP 下载STM32程序之后,弹出 Problem while trying to Run core of device. 的解决办法
- Android实现连点按钮三下退出程序
- pdf怎么移除权限口令,忘记pdf密码如何找回?
- 80386汇编_全局描述表GDT介绍
- 计算适应度函数(目标函数)(单目标)
- 前端框架(混合开发框架)
- 计算机二级都有题库的吗,全国计算机二级考试的题库每年都变吗?我能不能拿去年的未来教育的题库来做,还会有原题吗?急...
- VTK学习笔记(二十三)vtk空间几何变换
- 腾讯云区块链使用心得