Java基础学习_数组
数组,在没有接触计算机语言之前我认为的数组就是高中学习过的数列一般,是几个数字的集合,但是在计算机语言中,数组并不是简单的数字的集合,那么它是什么呢?让我们一起来了解它吧.
1. 数组的概念
数组 : 存储同一种数据类型多个元素的容器!!
作用:存和取的作用
理解:
在我们日常生活中我们遇到的数被我们默认为整数和小数, 这是我们小学的时候所学到的
知识,但是在Java中我们遇到的不仅仅只有数字,还有其他类型,那我们如何去归类整理呢,那我们就需要一个容器将相同类型的数据放在这个容器中,所以这就引用到数组 了.
2. 数组的定义格式
1) 数据类型[ ] 数组名;
如int[ ] arr;
2) 数据类型 数组名[];
如: int arr[];
备注:这两个没有区别
3. 数组的初始化
1.动态初始化
格式 : 数据类型[ ] 数组名 = new 数据类型[ 数组的长度 ] ;
如: int[ ] arr = new int[3];
特点 : 我们给定数组的长度 , 初始化值由系统决定
2.静态初始化
格式 : 完整的 : 数据类型[] 数组名 = new 数据类型[]{元素1 , 元素2 …};
简化的 : 数据类型[ ]数组名 = {元素1 , 元素2 …};
特点 : 我们给定数组的初始化值 , 长度由系统计算
3. 数组的使用
1.赋值 : 数组名[索引] = 数据值;
2.取值 : 数组名[索引]
什么是栈、堆、方法区?
1.栈内存
概念: 存储的是局部变量 , 方法在调用时会进入栈内存
局部变量: 定义在方法中或者方法的声明上的变量 , 叫做局部变量
特点 :
1) 局部变量在使用完毕 , 立即回收
2.堆内存
概念:
1)存储的是new出来东西(实体, 对象)
对象特点 :
1) 对象是有地址值的
2 )对象中的数据是由默认值的
3) 对象在使用完毕 , 会在垃圾回收器空闲时回收对象
- 常见默认值
float,double : 0.0
char : ‘\u0000’ 空字符
boolean : false
引用数据类型 : null
3.方法区
概念:
存储的是一个类的字节码(.class文件)对象
数组常见问题的原因并解决
ArrayIndexOutOfException : 数组索引越界
产生原因 : 访问不存在的索引元素
NullPointerException : 空指针异常
产生原因 : 对象为null , 还在使用对象访问其内部元素