Java数组

一个数组里只能存储一种数据类型(可以是引用类型),由于Java面向对象支持继承,可能会产生存储多种数据类型的假象

数组的定义:type[] arrayname;还有另外一种格式不推荐,含义不明确,数组定义时不能指定长度,arrayname只是一个指针还未指向有效的内存(还未分配内存空间),

 

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

  初始化方式,1---静态初始化,初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度

          arrayName = new Type[]{e1,e2,e3,,,,,,}---------------还可以省略new Type : arrayName  = {e1,e2,e3,,,,}

          定义和初始化可以同步完成

        2--动态初始化,只指定数组的长度,每个元素值由系统指定初值

          arrayName = new Type[length];

 

使用数组:arrayName[0-(length-1)]超出指定范围会在运行时产生异常:ArrayIndexOutOfBoundsException:N  数组索引越界

     arrayName.length---数组长度

foreach循环:java5之后提供的

      for(type v : array|collection){}//自动迭代访问每个元素 ###########当需要在循环中改变元素的值的时候,不要用foreach会导致错误出现

 

数组在内存中的存在方式:Java疯狂讲义/92页,感觉讲的很详细

 

基本数组类型初始化时,数组在内存中的状态

 

引用类型数组初始化时在内存中的状态:

 

不存在的多维数组,二维数组只是一维数组的数组元素又是一个引用类型,指向另个一维数组,内存状态分析看书上

  #####二维数组是一维数组,其数组元素是一维数组,三维数组是一维数组,其数组元素是二维数组

  语法:Type[][] arrayName;

 

Java8增强工具类:Arrays(可以方便的操作数组)

 

posted @ 2018-04-16 20:45  笑谭枫昇  阅读(126)  评论(0编辑  收藏  举报