网站首页 > java教程 正文
数组结构
数组是最为常见的一种数据结构,不是基本数据类型是对象,是相同类型的用一个标识符封装到一起的基本类型数据序列组成一个对象。可以用一个统一的数组名和下标来确定数组中的元素。
数组包括一维数组和二维数组。
一 维数组
一维数组实质上是一组相同类型数据的线性集合对象。
例如一组成绩就是一个数组,每一个成绩都是数组中的一个元素。当在程序中需要处理一组数据,或者传递一组数据时,就可以使用数组实现调用。
创建一维数组
数组元素类型决定了数组的数据类型。它可以是 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-11-16 java开发中经常使用的数组以及使用方法
- 2024-11-16 为什么要使用数组?如何使用数组?(什么是数组为什么要使用数组)
- 2024-11-16 PHP的SPL扩展库(二)对象数组与数组迭代器
- 2024-11-16 ES6 数组解构赋值(es6 结构赋值)
- 2024-11-16 java笔记之数组(java,数组)
- 2024-11-16 PHP笔记 (七)数组(php7 数组)
- 2024-11-16 Scala学习数组和元组了解(scala数组集合的操作)
- 2024-11-16 Java——数组函数(java 数组使用)
- 2024-11-16 VBA一组代码如何搞定赋值给数组arr及回填数据给工作表
- 2024-11-16 java数组(一)(java 数组)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 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)
本文暂时没有评论,来添加一个吧(●'◡'●)