黑马程序员--数组(一)基本概念

 

 

数组的定义

概念:同一种类型数据的集合。其实数组就是一个容器

数组的好处

可以自动给数组中的元素从0开始编号,方便操作这些元素

格式1

元素类型[ ] 数组名 = new 元素类型 [元素个数或数组长度];

示例:定义一个可以存储3个整数的容器

int [ ] arr=new int[3];
注意:其中的arr是数组类型

格式2:静态初始化方式

元素类型 [ ] 数组名 = new 元素类型 [ ] {元素,元素,……};

示例: int [ ] arr=new int [ ]{3,5,1,7};

       int [ ] arr={3,5,1,7};

 

 

内存结构:

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

栈内存:

用于存储局部变量,当数据使用完,所占空间会自动释放

堆内存

l  数组和对象,通过new建立的实例都存放在堆内存中

l  每个实体都有内存地制值

l  实体中的变量都有默认初始化值

Int –>0

Doubleà0.0

Floatà0.0f

Booleanàfalse

Charà’\u000’

l  实体不在被使用,会在不确定的时间内被垃圾回收器回收

方法区,本地方法区,寄存器

 

 

数组中的异常

  1. ArrayIndexOutOfBoundsException:数组角标越界异常,操作数组时访问到了数组中不存在的角标

示例:

class ArrayDemo

{

         public static void main(String[] args)

         {

                   int [] arr=new int[3];

                   System.out.println(arr[3]);

         }

}

 

结果:

 

  1. NullPointerException:空指针异常,当引用没有任何指向值为null的情况,该引用还在用于操作实体

 

示例:

class ArrayDemo

{

         public static void main(String[] args)

         {

                   int [] arr=new int[3];

                   arr=null;

                   System.out.println(arr[1]);

         }

}

结果:

 

 

 

数组的操作:

获取数组中的元素:通常会用到遍历

示例:

class ArrayDemo

{

         public static void main(String[] args)

         {

                   int [] arr=new int[3];

                   for(int i=0;i<3;i++){

                            System.out.println("arr["+i+"]="+arr[i]+";");

                   }

         }

}

 

结果:

 

 

因为数组中没有定义具体的值,所以打印的都是默认初始化值

 

 

数组中有一个属性可以直接获取到数组的元素个数。Length

使用方法:数组名称.length=

 

示例:

class ArrayDemo

{

         public static void main(String[] args)

         {

                   int [] arr={1,5,3,7,8,3,5,0};

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

                            System.out.println("arr["+i+"]="+arr[i]+";");

                   }

         }

}

 

 

结果:

 

 

练习:

定义功能,用于打印数组中的元素,元素间用都好隔开

代码示例;

class ArrayDemo

{

         public static void main(String[] args)

         {

                   int []arr={1,3,5,7,9,5,0};

                   show(arr);

         }

         public static void show(int [] arr){

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

                            if(i!=arr.length-1){

                                     System.out.print(arr[i]+",");

                            }else{

                                     System.out.println(arr[i]);

                            }

                   }

         }

}

 

结果:

 

 

 

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

posted @ 2013-12-23 19:21  h19891117  阅读(158)  评论(0编辑  收藏  举报