网站首页 > java教程 正文
数组
数组的本质是一个相同数据类型的元素集合。元素是数组的组成部分,数组中每一个元素都可以使用唯一的索引值来访问,这个索引值也可以叫做数组下标。数组是很多集合类的底层存储结构,在了解java集合类之前大家先了解一下数组吧。
数组初始化
数组的声明语法为
// type为类型 arrayName为数组变量名称
type[] arrayName;
//如:
int[] numbers;
在进行数组初始化时,有静态初始化和动态初始化两种方式。
静态初始化
静态初始化是指在初始化数组时为数组的每个元素赋值,由元素的个数来决定数组的长度
int[] numbers = {1,2,3};
// 或者
numbers = new int[]{1,2,3};
动态初始化
动态初始化是指在初始化数组时指定数组长度,系统为每个元素分配初始值,之后再按照需要为每个元素修改值。
int[] numbers = new int[3];// 此时numbers中的元素为 0,0,0
numbers[0] = 1;// 将索引0的位置赋值为1
注意:数组的索引是从0开始的
二维数组
上面说的数组是一个一维数组,java可以构建多维数组,其实本质上来说还是一维数组,只是数组中的元素存储的还是数组而已。
二维数组可以看做是一个表格,有行有列,二维数组中的每一个元素就代表了确定行列的一个单元格
二维数组的声明为
// type为类型 arrayName为数组变量名称
type[][] arrayName;
//如:
int[][] numbers;
静态初始化
int[][] numbers = {{1,2,3},{1,2,3}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3}};
动态初始化
int[][] numbers = new int[3][3];// 此时numbers中的每个元素都为0
// 如果需要确认某个元素的话,需要指定两个索引,第一个索引找到该位置下的一维数组,第二个索引找到所需要的元素
numbers[0][0] = 1;// 将该位置赋值为1
非矩形数组
由于第二个索引代表的是该索引位置对应的一维数组,每个索引下的数组长度不同时就是非矩形数组。
静态初始化
int[][] numbers = {{1,2,3},{1,2,3,4}};
// 或者
numbers = new int[][]{{1,2,3},{1,2,3,4}};
动态初始化
// 第二个索引长度不指定,因为每个是不同的
int[][] numbers = new int[3][];
numbers[0] = new int[4];
numbers[1] = new int[5];
numbers[2] = new int[6];
猜你喜欢
- 2024-10-08 “全栈2019”Java原子操作第九章:atomic包下原子数组介绍与使用
- 2024-10-08 04、数组的注意事项 #Java(数组函数的使用方法)
- 2024-10-08 Java中的数组使用(java中数组用法)
- 2024-10-08 C++|实例解析函数指针数组的声明、初始化和使用
- 2024-10-08 小高分享(47)Java中的基本数据类型与数组
- 2024-10-08 Java基础:数组的特别之处(java,数组)
- 2024-10-08 定义结构体数组并初始化,定义结构体数组struct stu
- 2024-10-08 ArrayList初始化-Java那些事儿(java arraylist用法)
- 2024-10-08 看完这篇,轻松弄懂STM32 C语言变量的定义和初始化
- 2024-10-08 Java编程基础阶段笔记 day05 数组
你 发表评论:
欢迎- 最近发表
-
- pyinstaller打包python程序高级技巧
- 将python打包成exe的方式(python打包成exe的方法)
- Python打包:如何将 Flask 项目打包成exe程序
- py2exe实现python文件打包为.exe可执行程序(上篇)
- 如何将 Python 项目打包成 exe,另带卸载功能!
- Python打包成 exe,太大了该怎么解决?
- 可视化 Python 打包 exe,这个神器绝了!
- 案例详解pyinstaller将python程序打包为可执行文件exe
- Cocos 3.x 菜鸟一起玩:打包window程序
- 怎么把 Python + Flet 开发的程序,打包为 exe ?这个方法很简单!
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)