数组

来源:互联网 发布:纸飞机软件exe 编辑:程序博客网 时间:2024/06/03 14:09
数组:
存放相同类型的数据的容器
对象可以看作是数据的封装体
引用型数据类型:数组,类,接口
索引的用处:为了查找的更方便(编号、角标、下标),从0开始编号便于操作
索引和数据之间存在着对应的关系
一维数组的声明:
int a[ ]; int [ ] a;
1、数组的声明 数组类型【 】变量名;注意不要再【 】中直接定义长度
2、数组的创建的第一种格式:元素类型【】 数组名 = new 元素类型【元素个数或者数组长度】;
3、数组的内存空间
java当中的5片内存空间
1、寄存器 cpu直接处理的
2、本地方法区 src native
3、栈内存:放局部
4、堆内存:存对象 关键字new 开辟一块新的内存空间
      (1)堆内存中存放的数据都有内存地址值,然后是以一个数据的内存地址值来作整个实体的地址
      (2)堆内存中的数据都是有默认值的
5、方法区:

int 型数组的元素默认值 0
float                                   0.0f
double                               0.0
boolean                             false
char                                     '\u0000'
数组中常见的异常:
1、ArrayIndex
产生原因:访问了数组中不存在的角标
2、NullPointerException
产生原因:当引用型变量没有指向任何实体的时候,还对该变量进行了操作,就会爆出该异常


数组创建的第二种格式:
     数组的静态初始化:
1、元素类型【 】数组名=new 元素类型【】{ 元素,元素,。。。};
2、int a【】={1,2,1,6};
注意:数组的大小由括号里的元素的个数决定
for(type element :array){
System.out.println(element);
}
//type:循环变量的遍历
//element:循环变来的那个的名称
//array:要被遍历的那个对象
好处:针对于容器的,然后他把遍历交给了编译器去处理
局限性:在遍历的过程中,不能对数组本身的数据进行操作,也不能输出对应角标的那个值
用途:


数组操作数据的核心思想:角标
最最基本的操作:获取元素值,设置元素值,都离不开角标
存入数组的目的:为了对变量进行操作


选择排序:设定一个基准值,用于存储最小的数据,在写一个标志位,用于判断,然后赋值给最前面的数
冒泡排序:相邻两个数作比较,把最大的放在后面,通过比较逐一的写出当前数组中较大的值
插入排序:从第二个数据开始,向前比较,然后比前一个数小就交换,在向前比较,否则停止比较


插入排序


简单工厂模式:
有成为静态工厂模式,是为了对实现接口的类进行一个统一管理
把实现接口的类的对象的创建给封装起来
0 0