Java 数组

本文阅读 6 分钟
首页 代码,Java 正文

数组可以存放多个同一类型的数据。数组也是一种数据类型,是引用类型。 即: 数(数据)组(一组)就是一组数据

基本概念

1.数组是引用数据类型,数组的父类是Object类

2.数组是一个容器,可以容纳多个元素(数组是一个数据的集合)

3.数组可以存储基本数据类型的数据,也可以是引用数据类型的数据

4.数组是引用数据类型,所有数组对象是在堆内存中的(数组存储在堆中)

5.数组中如果存的是Java对象的话,实际上存的是对象的引用,也就是内存地址

6.数组一旦创建,长度不可变

7.分类:一维数组,二维数组,多维数组

8.数组的length属性用来获取数组的元素个数

9.Java中的数组要求数组中元素的类型统一,不能存不同类型的元素

10.数组在内存方面存储的时候,数组中的元素内存地址(存储的每一个元素都是有规则的接着排列)是连续的,内存地址连续。数组实际上是一种简单的数据结构

11.数组的内存地址就是第一个元素的内存地址

12.下标从0开始,arr.length-1是最后一个元素的下标

数组存储结构的优点和缺点

优点:查找某个位置的元素效率高,可以说是查询效率最高的一个数据结构

为什么效率高:

​ ①每一个元素的内存地址在空间存储上是连续的

​ ②每一个元素类型相同,占用空间大小一样

​ ③如果知道第一个元素的内存地址,知道每一个元素占用空间大 小 ,然后又知道下标, 我们可以通过数学表达式去计算某给下标上面的元素 的内存地址,直接通过内存地址来定位元素,所以数组的检索效率最高

​ 数组不是逐个找元素,而是算出一个内存地址,直接定位

缺点:

​ ①为了保证数组中每一个元素的内存地址连续,所以在数组中随机插入或删除元素 的效率低,需要移动大量的元素

​ ②数组不能存储大数据量

​ 很难在内存空间中找到一块很大的连续内存空间

注意:对数组中的最后一个元素的增删,是没有效率影响的

怎么初始化数组

方式:静态初始化,动态初始化

静态初始化:

数据类型 数组名[]={元素值1,元素值2,……}; ​ int[] arr={1,2,3,4}; arr.length 可以获得数组的长度

动态初始化:

先声明数组
语法:数据类型 数组名[];    也可以  数据类型[]  数组名;
int a[];  或者 int[] a;

创建数组
语法:  数组名=new  数据类型[大小];
a=new int[10];

 int[] arr=new int[5];    //这里的5表示数组的元素个数

数组初始化的时候,元素有默认值,它的默认值和元素类型有关

数组使用注意事项和细节

  1. 数组是多个相同类型数据的组合,实现对这些数据的统一管理
  2. 数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
  3. 数组创建后,如果没有赋值,有默认值 int 0 ,short 0, byte 0, long 0, float 0.0,double 0.0 ,char u0000 ,boolean false ,String null
  4. 使用数组的步骤 :1. 声明数组并开辟空间 2 给数组各个元素赋值 3 使用数组
  5. 数组的下标是从 0 开始的。
    <li>数组下标必须在指定范围内使用,否则报: 下标越界异常,比如 int [] arr=new int[5]; 则有效下标为 0-4</li>
  6. 数组属引用类型,数组型数据是对象(object)

数组的赋值机制

  1. 基本数据类型赋值,这个值就是具体的数据,而且相互不影响。 int n1 = 2; int n2 = n1;
  2. 数组在默认情况下是引用传递,赋的值是地址。 看一个案例,并分析数组赋值的内存图(重点, 难点. )。 //代码 ArrayAssign.java int[] arr1 = {1,2,3}; int[] arr2 = arr1; img
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://zengyihong.blog.csdn.net/article/details/122914535
-- 展开阅读全文 --
安全面试之XSS(跨站脚本攻击)
« 上一篇 07-24

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复