黑马程序员-----数组总结*

来源:互联网 发布:mysql 事务回滚 编辑:程序博客网 时间:2024/05/23 12:38

---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------


一、数组的概念

数组就是一个容器,用来装东西的。

数组的特点:必须是同一种数据类型的集合

数组的好处:可以自动给数组中的元素从0开始编号,便于操作管理这些数据


二、一维数组

格式:数据类型 []  数组名 = new int[] 或  数据类型 [] 数组名 = {}

例如:int [] arr = new int [3]  或者  int arr [] = new int[3]  或者 int arr [] = {1,2,3,4,5}

System.out.println(arr);  得到的结果是一个哈希值


栈内存和堆内存的区别:

栈内存:存放的是局部变量,当数据使用完后会自动释放

堆内存:存放的是实体,每一个实体都有内存地址值,实体中的变量都有默认值(0或null),实体不使用以后,会在不确定的时间内被JVM回收机制回收



三、数组操作常见问题

问题1:数组角标越界异常(ArrayIndexOutOfBoundsException):是由于访问到了数组中不存在的角标所致。例如:

  int[] arr = new int[2];

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

问题2:空指针异常(NullPointerException):是由于arr没有指向实体,却在操作实体中的元素导致的。例如:

 int[]arr = null;

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




四、二维数组

格式:数据类型  [] [] 数组名 = new 数据类型 [] [] 或者 数据类型  [] [] 数组名 = {{},{},{}}

例:int [] [] arr = new int [3] [2] :含义是此数组中包含有三个一维数组,每个一维数组中有两个元素

       int [] [] arr = {{1,2,3},{4,5,6},{7,8,9}}:含义是三个一维数组,第一个一维数组中arr[0][1]=1

 注:一种特殊定义写法:int[]x,y[]; x是一维数组,y是二维数组。


---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net





原创粉丝点击