Java数组学习笔记

数 组

Java中的数组长这样(定义数组)

int[] arr;//推荐
int arr[];  

一、定义

数组是什么?

  数组是相同类型的,用一个标识符名称封装到一起的一个对象序列或基本类型数据序列。简单来讲就是一组相同类型元素的集合

为什么使用数组?

  当需要存储大量数据,例如需要读取100个数,那么就需要定义100次变量,而数组就解决了这个问题,通过数组容器将相同类型的元素用一个标识符封装起来,方便存储和操作。

二、格式

格式1:元素类型[] 数组名 = new 元素类型[元素个数或数组长度]

如:

int[] arr = new int[10];

格式2:元素类型[] 数组名 = new 元素类型[]{元素,元素,元素,.....}

如:

int[] arr = new int[]{1,2,3,4};
int[] arr = {1,2,3,4};//特殊的初始化方式,存储空间分配(等价于使用new)由编译器负责。

三、优缺点

优点: 
  1、按照索引查询元素速度快。
  2、能存储大量数据。
  3、按照索引遍历数组方便。

缺点: 
  1、根据内容查找元素速度慢。 
  2、数组的大小一经确定不能改变。 
  3、数组只能存储一种类型的数据。 
  4、增加、删除元素效率慢。
  5、未封装任何方法,所有操作都需要用户自己定义。

四、常见异常

空指针异常(NullPointerException)

通常是只创建了数组的引用而没有指向任何对象,且被其他对象或方法使用了。如:

static int[] arr;

public static void main(String[] args) {
      for (int i = 0; i < arr.length; i++) {
         System.out.println(arr[i]);
       }
}

数组越界(ArrayIndexOutOfBoundsException)

  数组的索引值是从0开始的,访问了不存在的索引值。如:

static int[] arr = { 1, 2, 3 };

public static void main(String[] args) {
    System.out.println(arr[-1]);
    System.out.println(arr[3]);
}

 总结

  数组较容器,最大的优点就是效率。在Java中,数组是一种效率最高的存储和随机访问对象引用序列的方式,数组就是一个简单的线性序列,

这使得元素访问非常快速论使用哪种类型的数组,数组标识符其实只是一个引用,指向在堆中创建的一个真实对象,这个(数组)对象用以

保存指向其他对象的引用。数组是第一级对象,可以作为数组初始化语句的一部分隐式地创建此对象,或者用new表达式显示地创建。

       数组的优点是效率高,但为此,所付出的代价就是数组对象的大小被固定。这也使得在工作中,数组并不实用。

       所以我们应该优选容器,而不是数组。只有在已证明性能成为问题的时候,并且确定切换到数组对性能提高有帮助时,才应该将项目重构为使用数组。

转载于:https://www.cnblogs.com/mosEast/p/8548302.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值