黑马程序员--数组

来源:互联网 发布:临高启明知乎 编辑:程序博客网 时间:2024/04/30 05:56

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

黑马程序员――数组

一、   数组的定义

1.  数组的定义:同一种类型数据的集合。其实数组就是一个容器。

2.  数组的特点:可以自动给数组中的元素自动从0开始进行编号,方便操作元素

3.  数组的格式:格式一,确定元素个数但不确定元素值,

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

例:int[] arr = new int[3];

  格式二,确定元素值,

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

例:int[] arr1 = new int[]{3,5,6,8,9};

Int[] arr2 = {3,4,5,6,2,8,1};

4.  注意:数组只有存储同一类型数据,且长度不可以改变;数组没添加元素只确定元素个数,那么数组默认元素值为0或null;

二、   数组的内存结构

1.  Java在内存中分成五个存储区域,分别为:栈内存、堆内存、方法区、本地方法区、寄存器

l  栈内存:用于存储局部变量,引用它的方法或代码块一执行完,它所占空间    就会自动释放。

l  堆内存:数组和对象,只要是通过new创建的实例对象都存储在堆内存中

每一个实例对象都指向了自己唯一的内存地址值,

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

堆内存中有垃圾回收机制,垃圾回收器会不定时将不再使用的实体当作垃圾回收。

l  方法区 :

 

三、   数组操作中的常见问题

1.  数组角标越界异常(ArrayIndexOutOfBoudsException)

int[] arr = new int[]{12,4,6};

System.out.println(arr[6]);//数组中三个元素,角标为0、1、2;

2.  空指针异常(NullPointerException)

int[] arr = null;

int a = arr[0];//数组中无元素,

四、   数组常见操作

1.  获取最值(最大值,最小值)

2.  选择排序

 

3.  冒泡排序

4.  折半查找,(我感觉没以上常用)

五、   数组中的数组

1.  二维数组,和一维数组用法一样,格式如下:

l   int[][] arr = new int[2][2];//定义一个二维数组有2个元素,每个元素都是一个有2个元素的数组

l   int[][] arr = new int[][]{{2,3,5,6},{,67,3,4,8,1}};//定义一个二维数组,有两个数组元素,一个数组有四个元素,一个有5个元素

l int[][] arr = new int[2][];//定义一个二维数组,有二个数组元素,每个数组元素个数不确定

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

原创粉丝点击