1思维导图
.如上图所示,是本次java基础应用所学的知识
一、数组
定义:数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。
注意:我们上次说的都是基本数据类型,而数组是引用数据类型。
他们的区别是:基本数据类型存储的是在自己的空间存储真实值而引用数据类型在自己的空间存储的是地址,通过地址才能找到数组存储在其他空间上的真实数值
数组的初始化分为动态和初态初始化
1.动态初始化
是我知道数组的大致范围,但我不知道数组的具体数据
数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];
2.静态初始化
是我们知道数组的具体数值,那么我们就可以直接进行初始化
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
数据类型[] 数组名 = {元素1,元素2,...};
3.数组的索引
我们想要找到我们存的数据时,那我们需要用到索引
每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。
这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
访问数组元素格式:数组名[索引];
4.数组常见的问题
数组越界
他的含义是我明明定义数组的大小为3,但他偏偏要去访问第5个元素大小,那就会出现索引越界
空指针异常
null 的作用类似于C语言中的 NULL (空指针), 都是表示一个无效的内存位置. 因此不能对这个内存进行任何读写操作. 一旦尝试读写, 就会报错 NullPointerException(空指针异常)。
5.内存分配
二、集合
你是否常常因为数组只能存储一种类型的数据,和定义时就要确定空间大小而不能在我需要增加数据时而感到头疼呢?
1.集合
集合是指具有某种特定性质的具体的或抽象的对象汇总而成的集体,有时集合也称之为容器,java中在util包下存放了所有的基本集合
1.1集合与数组的区别
长度区别
数组长度固定,定义长了造成内存空间的浪费,定义短了不够用。
集合大小可以变,用多少空间拿多少空间。
内容区别
数组可以存储基本数据类型和引用数据类型
集合中能存储引用数据类型(存储的为对象的内存地址)
list.add(100);//为自动装箱,100为Integer包装的
元素区别
数组中只能存储同一种类型成员
集合中可以存储不同类型数据(一般情况下也只存储同一种类型的数据)
集合结构
在java中每一个不同的集合,底层会对应不同的数据结构。往不同的集合中
存储元素,等于将数据放到了不同的数据结构当中。什么是数据结构?数据存储的
结构就是数据结构。不同的数据结构,数据存储方式不同。
1.2集合的操作使用
操作方式
add添加,可以指定索引进行添加
sum.add();里面添加数据
remove删除,可以指定索引进行删除
sum.remove(删除的元素);返回值是boolean
sum.remove(索引);返回值是被删除的元素
get访问,set修改
sum.set(索引,新数据);返回值是被修改的元素
sum.get(索引);返回值是获取的元素
size,获取有效数据大小
sum.size();返回值是集合中有效的数据