3、数组

96 阅读3分钟

一、概念和特点

数组是用来存储数据的容器

特点:

  1. 数组的长度是固定
  2. 同一个数组只能存储同一种数据类型的值

二、数组的定义

关键字:new

// 方式1
数据类型[] 数组名 = new 数据类型[数组的长度];
​
// 方式2
数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,...};
​
// 方式3(方式2的简化版)
数据类型[] 数组名 = {值1,值2,值3,...};

三、数组元素的赋值和获取

索引(index):也称为下标,从0开始,数组中索引的范围:[0,长度-1]

获取:

数组名[下标]

赋值:

数组名[下标] = 值;

注:

  1. 数组下标必须是int类型的,如果是浮点数类型的,则编译失败

  2. 数组下标的范围是[0,长度-1],如果下标不在这个范围内,会发生ArrayIndexOutOfBoundsException数组下标越界异常

  3. 如果定义数组时只指定了数组的长度,没有明确数组中的元素值,那么这个数组中的元素也都默认值:

    1. 整型:0
    2. 浮点型:0.0
    3. 字符型:空格
    4. 布尔型:false
    5. 其他:null
  4. 数组中的元素值存在自动类型转换,但是数组没有自动类型转换

  5. 获取数组的长度:数组名.length

  6. 输出数组名输出的是数组在内存中地址

四、数组的遍历

通过循环获取数组中的每一个元素就是数组的遍历

for(int i = 0 ;i <= 数组的长度 - 1;i++){
 // 数组名[i]
}
// 将指定数组转换成字符串
Arrays.toString(数组名); 

增强for循环,也叫foreach循环

for(数据类型 变量名 : 数组名){
​
}
// 特点:foreach循环都是从第一个元素开始遍历的,并且是依次遍历每一个元素,当遍历到末尾时,循环自动结束
// 变量名会自动接收循环过程中遍历到的数组中的每一个元素

五、二维数组

二维数组是数组的数组,二维数组中的每一个元素都是一个一维数组

二维数组的创建:

// 方式1
数据类型[][] 数组名 = new 数据类型[n][m];
// 表示创建了一个长度为n的二维数组,这个二维数组中的有n个一维数组,每一个一维数组的长度是m
​
​
// 方式2
数据类型[][] 数组名 = new 数据类型[n][];
// 表示创建了一个长度为n的二维数组,这个二维数组中的有n个一维数组,这种创建方式中的每一个一维数组都需要单独进行创建
// 二维数组中的一维数组在创建时不能使用简化形式// 方式3
数据类型[][] 数组名 = new 数据类型[][]{
 {值1,值2,值3,...},
 {值1,值2,值3,...},
 ...
}
​
// 方式4(方式3的简化版)
数据类型[][] 数组名 = {
 {值1,值2,值3,...},
 {值1,值2,值3,...},
 ...
}

二维数组中元素的获取和赋值同一维数组

二维数组的遍历