java 第四章 数组
1、一维数组
数组的定义和创建
数组可以看成是多个相同类型数据的组合,实现对这些数据的统一管理
数组中的每一个数据 — 数组的一个元素(element)
数组中的元素可以是任何数据类型,包括基本数据类型和引用类型
数组中元素的个数,称为数组的长度(length)
JAVA语言中声明数组时不能指定其长度
e.g. int a[5]; //非法
数组的其他基本概念
数组的索引 -- index
数组的类型 -- type
数组的名称 – name
数组的定义和创建
数组类型 数组名 [ ] 或 数组类型[ ] 数组名
数组名 = new 数据元素类型[ 元素个数 ]
int a[ ] ;
a = new int[5];
int a[ ] = new int[5];
数组的内存模型
int[ ] array ;
array = new int [4] ;
数组创建后立即拥有默认值。
索引从0开始。
数组的所有元素保存在堆内存中
数组的初始化
在创建数组的同时就为数组元素分配空间并赋值
声明数组:和使用变量要先声明一样,先声明数组的类型和名称
int[ ] myNumbers;
构造数组:声明之后,还不知道能存放多少个数据
myNumbers = new int[20];
初始化数组:使用new创建数组后,所有元素其实已经被初始化,元素都是默认值,这种初始化就叫做”动态初始化“。
是在声明数组的同时就完成创建和初始化工作,这叫做”静态初始化“。
数组元素的访问
Java中,数组元素的下标从0开始
元素的下标可以是整型常量或整型表达式
数组的属性
数组的长度(length)必须>=0;
length为只读。
利用length遍历数组。
数组的异常
数组越界异常( ArrayIndexOutOfBoundsException )
2、多维数组
多维数组的创建
Java中没有真正的多维数组,只有数组的数组
多维数组的创建
必须声明行的个数
多维数组的初始化
多维数组的初始化
多维数组的内存模型
多维数组的遍历
数组的复制和排序
数组的复制和排序
Arrays.sort(arr_name)
Arrays.sort(arr_name,fromIndex,toIndex)
对数组arr_name中,从下标为fromIndex到toIndex的元素(不包括toIndex)进行升序排序
3、 冒泡排序法(Bubble Sort )
冒泡排序法是一种简单的排序算法
它重复地走访过要排序的数组,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数组的工作是重复地进行直到没有再需要交换,也就是说该数组已经排序完成。