【Java】数组

简介: 【Java】数组

什么是数组:

数组(array)是一种用于存储多个相同类型数据的存储模型

 

定义数组:

格式:数据类型[] 变量名

范例:int[] arr

定义了一个int类型的数组,数组名是arr

 

数组初始化:

Java中的数组必须先初始化,然后才能使用

初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

   动态初始化:初始化时只指定数组长度,由系统为数组分配初始值

格式:数据类型[]变量名=new 数据类型[数组长度];

   范例:int [] arr = new int [3];

       左边:int:说明数组中的元素类型是int类型

           []:说明这是一个数组

  arr:这是数组的名称

       右边:new:为数组申请内存空间

           int:说明数组中的元素类型是int类型

           []:说明这是一个数组

           3:数组长度,就是数组中的元素个数

内存分配:

Java中的内存分配:Java程序在运行时,需要在内存中分配空间。为了提高运算效率,就对空间进行了不同区域的划分,因为每一片区域都有特定的处理数据方式和内存管理方式。

 栈内存:存储局部变量,定义在方法中的变量,例如:arr使用完毕,立即消失

   堆内存:存储new出来的内容(实体、对象)数组正在初始化时,会为存储空间添加默认值

           整数:0

           浮点数:0.0

布尔:false

           字符:空字符

           引用数据类型:null

   每一个new出来的东西都有一个地址值使用完毕,会在垃圾回收器空闲时被回收

当两个数组指向相同的时候,任何一个数组修改了堆内存的数据,另一个数组去访问的时候,他的元素值也是发生了改变的。

 

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

格式:数据类型[]变量名= new 数据类型[]{数据1,数据2,数据3,.....};

范例:    int[] arr = new int []{1,2,3};

 

简化格式:数据类型[] 变量名 ={数据1,数据2,数据3,....};

范例:    int[] arr = {1,2,3};

 

数组操作两个常见的小问题:

1.索引越界:访问了数组中不存在的索引对应的元素,造成索引越界问题

   ArrayIndexOutOfBoundsException

2.空指针异常:访问的数组已经不再指向堆内存的数据,造成空指针异常

   NullPointerException

 

数组常见操作:

1.遍历:

   通用格式:

   int[] arr = {.....};

   

   for(int x=0;x<arr.length; x++){

       arr[x]   //对arr[x]进行操作

}

目录
相关文章
|
2月前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
33 4
|
2月前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
40 2
|
2月前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
95 2
|
2月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
53 9
|
2月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
26 3
|
2月前
|
存储 算法 Java
Java一分钟之-数组的创建与遍历
数组作为Java中存储和操作一组相同类型数据的基本结构,其创建和遍历是编程基础中的基础。通过不同的创建方式,可以根据实际需求灵活地初始化数组。而选择合适的遍历方法,则可以提高代码的可读性和效率。掌握这些基本技能,对于深入学习Java乃至其他编程语言的数据结构和算法都是至关重要的。
31 6
|
2月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
34 1
|
2月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
18 1
|
2月前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
125 9
|
3月前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
42 10