目录
数组
我们为什么会用到数组呢?Java中为啥会定义数组呢?在Java中变量的定义是数据类型 变量名 = 初始值。那么我们要是定义10个整型的变量呢?定义100个整型的变量呢?我们一个一个定义岂不是很麻烦而且很慢?所以引出了数组。
数组的定义
数组是用来盛放同种数据类型的集合,在内存中是一个连续的空间。
数组的创建
数组的创建
方式一:
数据类型 [] 数组名 = new 数据类型[N](和前面的一致);
N是用来存放数组长度的
方式二:
数据类型 数组名[] = {
元素};//这种不建议使用,和C语言中的一样。int []这样定义更清晰
数组的初始化
数组的初始化分为动态初始化和静态初始化。
//静态初始化
int [] arr = new int[] {
1,2,3};
但我们编写的时候一般省略new int[]
int [] arr = {
1,2,3};虽然省略了new int[]但是编译的时候,计算机会自己加上,这样只是方便了我们编写代码。
//动态初始化
int [] array = new int[10];
这里我来说几个注意点:
- 在上面的静态初始化时,可以不用在后面的new int[]中指定长度,因为计算机会根据{}中的元素来确定长度。
- 静态初始化的时候,{}中的数据类型必须与前面的一致。
- 对于静态初始化我们有两种方式,上面也提到过了,这里需要注意,完整写法的可以拆分写,简写方式的不可以。
int [] arr = new int[]{
1,2,3,4};//这样的时候可以拆开来写
int [] arr;
arr = new int[]{
1,2,3,4};
//简写的时候不可以拆开来写
int [] arr = {
1,2,3,4};
int [] arr;
arr = {
1,2,3,4};//这样拆开写会编译错误
- 对于动态初始化时,后面标明了元素的个数:10。数组中下标是从0开始的,所以10个元素下标是0-9.
- 对于没有初始化的数组,系统会自动分配默认值,动态分配时,创建了10个int类型的元素,但并没有赋值,此时系统会分配默认值0。下图为数组在内存中存储的情况和对于基本数据类型的默认值。
对于引用类型的默认值是null。(null 在 Java 中表示 “空引用” , 也就是一个不指向对象的引用。Java中null并不是就是等于0)
- 对于动态分配时也可以拆开编写。
int [] arr = new int[10];和下面拆开后一样。
int [] arr;
arr = new int</