网站首页 > 技术文章 正文
数组结构
数组是最为常见的一种数据结构,不是基本数据类型是对象,是相同类型的用一个标识符封装到一起的基本类型数据序列组成一个对象。可以用一个统一的数组名和下标来确定数组中的元素。
数组包括一维数组和二维数组。
一 维数组
一维数组实质上是一组相同类型数据的线性集合对象。
例如一组成绩就是一个数组,每一个成绩都是数组中的一个元素。当在程序中需要处理一组数据,或者传递一组数据时,就可以使用数组实现调用。
创建一维数组
数组元素类型决定了数组的数据类型。它可以是 Java中任意的数据类型,包括基本数据类型和其他引用类型(string)。数组名字为一个合法的标识符,符号“[ ] 量是一个数组类型变量。单个“[ ]”表示要创建的数组是一个一维数组。2个“[ ][ ]”表示要创建的数组是一个二维数组,二维数组常用于表示表中的行列信息,第一个下标表示元素所在行,第二个下标表示元素所在列。
声明一维数组有两种方式:
数组元素类型 数组名字[ ];
数组元素类型[ ] 数组名字;
int arr[]; // 声明int 型数组,数组中的每个元素都是int 型数值
double[] dou; // 声明 double 型数组,数组中的每个元素都是 double 型数值
要使用数组,还要为它分配内存空间(长度丿。在为数组分配内存空间时必须指明数组的长度。
为数组分配内存空间的语法格式如下:
数组名字 = new 数组元素类型[数组元素的个数];
arr = new int[3]; /*数组长度为3,表示要创建一个有3个元素的整型数组,并且将创建的数组对象赋给引用变量 arr,即引用变量 arr引用这个数组。*/
arr[0],arr[1],arr[2]。arr为数组名称,方括号“[]”中的值为数组的下标,数组中的元素都可以通过下标来访问。
数组的下标是从0开始的。由于创建的数组 arr中有3个元素,因此数组中元素的下标为0~2。
在声明数组的同时也可以为数组分配内存空间(长度),这种创建数组的方法是将数组的声明和内存的分配合在一起执行。
数组元素类型 数组名 = new 数组元素类型[数组元素的个数]。
创建一个长度为20的char 类型数组。
char arr[]=new char[20]
初始化一维数组赋初值,数组的初始化可分别初始化数组中的每个元素。
数组的初始化有以下 3种方式:
int a[]= { 1, 2, 3 }; // 第一种方式
int b[] = new int[] {4, 5, 6 }; // 第二种方式
int c[]=new int[3]; // 第三种方式
c[0] = 7; //给第一个元素赋值
c[1] = 8; //给第二个元素赋值
c[2] = 9; //给第三个元素赋值
数组的初始化就是包括在大括号之内用逗号分开的表达式列表。用逗号“,”分隔数组中的各个元素,系统自动为数组分配一定的空间。
Java 中的数组第一个元素,索引是以0开始的,a[0],b[0],c[0]。
获取数组长度
初始化一维数组的时候都会在内存中分配内存空间,内存空间的大小(数组长度)决定了一维数组能够存储多少个元素,使用数组对象自带的length属性获取数组长度。arr. length
arr表示数组名,Ⅰength : 数组长度属性,返回int值。
使用 length 属性获取数组长度。
public class ArrayLength {
public static void main(String[] args) {
char a[] = new char[] { 'A', 'B', 'C', 'D' }; // 创建一维数组
System. out. println("数组 a 的长度为" + a. length);
}
}
使用一维数组
使用一维数组将 1~12 月份各月的天数输出。
public class MonthDay {
public static void main(String[] args) {
// 创建并初始化一维数组
int day[] = new int[] { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
for (int i = 0; i < 12; i++) { // 利用循环将信息输出
System. out. println((i + 1) + "月有" + day[i] + "天");
//输出的信息
}
}
使用数组最常见的错误就是数组下标越界,int a[] = new int[3];// 最大下标为2,从0开始,a[3]下标越界错误。
猜你喜欢
- 2024-10-19 Excel中使用VBA你不可不知道的使用数组,干货分享
- 2024-10-19 Excel VBA入门教程1.3 数组基础(vba数组操作方法大全)
- 2024-10-19 C语言中为何不能直接对一个数组对象赋值
- 2024-10-19 第七节:C语言基础——二维数组(c语言二维数组怎么用)
- 2024-10-19 学会这两招,PLC编程也可以批量化定义变量-数组、结构
- 2024-10-19 1键搞定数组赋值,并回填数据给工作表
- 2024-10-19 C++|二维数组转一维数组及二维数组用数组指针输出
- 2024-10-19 西门子SCL编程之赋值语句概述及赋值语句的使用方法
- 2024-10-19 C|折腾二维数组(c++二维数组的赋值)
- 2024-10-19 什么是C++二维数组?数组中的数组(c++二维数组函数)
- 04-29kali2021ping 外网不通
- 04-29我是如何用这3个小工具,助力小姐姐提升100%开发效率的
- 04-29注册下载啊
- 04-29Spring 中三种 BeanName 生成器!
- 04-29mysql学习9:创建数据库
- 04-29Linux之yum源详解
- 04-29夏日终曲/请以你的名字呼唤我/Call me by your name(无剧透)
- 04-29注释竟然还有特殊用途?一文解惑 //go:linkname 指令
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- sqlset (59)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)