java之数组

逻辑映月使
• 阅读 1210

数组的描述

数组是编程语言中最常见的一种数据结构,可以存储多个相同类型的数据,每个数组元素可以存放一个数据。通常使用数组元素的索引来操作数组元素。数组的元素索引从0开始。

数组初始化完成之后,数组在内存中占用的空间将被固定下来,数组的长度也被固定,即使把一个数组里的元素全部清空,数组所占的空间依然被保留。

java中的数组既可以存放基本类型的数据,也可以存放引用类型的数据。

数组本身也是一种引用类型。

定义数组

//定义了一个数组类型的名为arr的引用变量,但是该变量未指向任何有效内存,所以此时数组并不能被使用
//数组的长度是在数组初始化时确定的而不是定义时确定的
int[] arr;

初始化数组

java中的数组必须先初始化,然后才能使用。初始化数组就是为数组在内存中分配空间并为每个数组元素赋默认值(默认值为0)

静态初始化:在初始化时显示的指定每个元素的初始值,由系统决定数组长度

//定义名为arr的int类型数组
int[] arr;
//初始化时只指定每个数组元素的初始值,不指定长度
arr = new int[]{1,2,3,4,5};
//定义数组和初始化数组简化代码
int[] arr = new int[]{1,2,3,4,5};

动态初始化:初始化时只指定数组长度,由系统为每个元素指定初始值

//定义并初始化一个长度为10的int类型数组
int[] arr = new arr[10];
//允许初始化时元素类型为定义时元素类型的子类
Object[] o = new String[10];

使用数组

通过 数组名[元素索引] 的方式就能操作数组元素了

//定义并初始化一个长度为10的int类型数组
int[] arr = new arr[10];
//将数组的第一个元素的值更改为1
arr[0] = 1;

操作数组时如果索引值小于0或者大于等于数组的长度时编译器不会报错,但是程序运行时会出现ArrayIndexOutOfBoundsExcepton异常

for循环遍历数组

所有的数组都提供了length属性,通过这个属性能获取到数组的长度,从而可以通过for循环遍历数组

int[] arr = new int[]{5,4,3,2,1};
int length = arr.length;
for (int i = 0; i < length; i++) {
    System.out.println(arr[i]);
}

foreach遍历数组

从java5之后,java提供了foreach这种更简单的循环,可以用来遍历数组和集合

int[] arr = new int[]{5,4,3,2,1};
int length = arr.length;
for(int i : arr){
    //使用该方式遍历数组或者集合元素时不要在循环内部对循环变量赋值
    //此处的变量i只保存了数组元素的值
    System.out.println(i);
}
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java ArrayList集合
ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。集合的创建格式导包:importjava.util.ArrayList;
Souleigh ✨ Souleigh ✨
4年前
JS 实现单链表
要存储多个元素,数组(或列表)可能是最常用的数据结构。但这种数据结构有一个缺点:(在大多数语言中)数据的大小是固定的,从数组的起点或中间插入或移除项的成本很高。  链表存储有序的集合,但不同于数组,链表中的元素在内存中并不是连续放置的。每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成。  相对于传统的数组,链表的一个好处是
Wesley13 Wesley13
3年前
Go 定长的数组
1.Go语言数组的简介  几乎所有的计算机语言都有数组,应用非常的广泛。同样,在Go语言中也有数组并且在数组的基础上还衍生出了切片(slice)。数组是一系列同一类型数据的集合,数组中包含的每个数据被称为数组元素,一个数组包含的元素个数被称为数组的长度,这是数组的基本定义。  在Go语言中数组是一个值类型(ValueType)
Wesley13 Wesley13
3年前
Java中的数组(Array)
数组对于每一门编程语言来讲都是最重要的数据结构之一,当然不同的编程语言对数组的实现以及处理也不尽相同。数组的概念:把有限个相同类型元素变量放在一个整体,这个整体就叫做数组。数组中的每一个元素被称为数组元素,通常可以通过数组元素的索引(也叫下标,可以理解为一种编号,从0开始)来访问数组元素,包括数组元素的赋值(set)和取值(get)。
Wesley13 Wesley13
3年前
Java 集合类
为什么使用集合数组长度是固定,如果要改变数组的长度需要创建新的数组将旧数组里面的元素拷贝过去,使用起来不方便。java给开发者提供了一些集合类,能够存储任意长度的对象,长度可以随着元素的增加而增加,随着元素的减少而减少,使用起来方便一些。数组和集合的区别区别1:数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类
Wesley13 Wesley13
3年前
C语言自学《五》
什么是数组数组是一组数目固定、类型相同的数据项数组中的数据称为元素比如longnumbers\10\;方括号中的数字定义了要存放在数组中的元素个数,称为数组维度数组有一个类型,它组合了元素的类型和数组中的元素个数,因此如果两个数组的元素个数、类型相同,这两个数组的类型就相同可以在数组名称后的方括号内使用索引值,索引值是从0开始
Wesley13 Wesley13
3年前
JavaSE
DAY081.数组1.1定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们。数组的三个基本特点:1.长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素必须
Wesley13 Wesley13
3年前
Java数组的声明与创建
今天在刷Java题的时候,写惯了C发现忘记了Java数组的操作,遂把以前写的文章发出来温习一下。首先,数组有几种创建方式?Java程序中的数组\\必须先进行初始化才可以使用,\\所谓初始化,就是为数组对象的元素分配内存空间,并为每个数组元素指定初始值,而在Java中,数组是静态的,数组一旦初始化,长度便已经确定,不能再随意更改。
Wesley13 Wesley13
3年前
C#图解教程 第十二章 数组
数组数组数组实际上是由一个变量名称表示的一组同类型的数据元素。每个元素通过变量名称和一个或多个方括号中的索引来访问:数组名索引↓↓MyArray4定义让我们从C中与数组有关的重要定义开始元素数组的独立数据项称为元素。数组的所有元素必须
Wesley13 Wesley13
3年前
Java基础语法:数组
一、简介描述:数组是相同类型数据的有序集合。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。基本特点:1.数组的长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.数组元素必须是相同类型,不允许
Wesley13 Wesley13
3年前
Java基础学习总结(21)——数组
一.数组的基本概念数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组的元素可以是任何数据类型,包括基本类型和引用类型。C和C中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆