数组
- 有限个相同类型的变量所组成的一个集合,数组中的每个变量可以成为一个元素,数组在内存中是顺序存储的,需要开辟连续的内存空间。数组可以存放多个同一类型数据。数组也是一种数据类型,是引用类型。
数组的使用
数组的定义
数据类型 数组名[]=new 数据类型[大小]
int a[]=new int[5]; //创建了一个数组,名字a,存放5个int 动态初始化 或者int a[]={0,0,0,0,0};//静态初始化
动态初始化
静态初始化
数组使用注意事项和细节
(1)数组是多个相同类型数据的组合,实现对这些数据的统一管理
(2)数组中的元素可以是任何数据类型,包括基本类型和引用类型,但是不能混用。
(3)数组创建后,如果没有赋值,有默认值int 0,short 0, byte 0, long 0,
float 0.0,double 0.0,char \u0000,boolean false,String null
(4)使用数组的步骤 :
- 声明数组并开辟空间
- 给数组各个元素赋值
- 使用数组
(5)数组的下标是从0开始的。
(6)数组下标必须在指定范围内使用,否则报:下标越界异常,比如
int [] arr=new int[5]; 则有效下标为 0-4
(7)数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量
数组复杂使用-赋值
(1)基本数据类型赋值,这个值就是具体的数据,而且相互不影响。
(2) 数组在默认情况下是引用传递,即赋的值是地址。
额外知识:
排序的介绍
排序是将一群数据,依指定的顺序进行排列的过程。
排序的分类:
(1) 内部排序:
指将需要处理的所有数据都加载到内存中进行排序。
包括(交换式排序法、选择式排序法和插入式排序法);
(2) 外部排序法:
数据量过大,无法全部加载到内存中,需要借助外部存储进行
排序。包括(合并排序法和直接合并排序法)
交换式排序法
交换式排序属于内部排序法,是运用数据值比较后,依判断
规则对数据位置进行交换,以达到排序的目的。
交换式排序法又可分为两种:
(1)冒泡排序法(Bubble sort)
(2)快速排序法 (Quick sort)
交换式排序法-冒泡排序法
冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从后向前(从下标较大的元素开始),依次比较相邻元素的排序码,若发现逆序则交换,使排序码较小的元素逐渐从后部移向前部(从下标较大的单元移向下标较小的单元),就象水底下的气泡一样逐渐向上冒。
因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,就说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换。从而减少不必要的比较。