数组
一、概念和特点
数组是用来存储数据的容器
特点:
数组的长度是固定
同一个数组只能存储同一种数据类型的值
二、数组的定义
关键字:
new
// 方式1 数据类型[] 数组名 = new 数据类型[数组的长度]; // 方式2 数据类型[] 数组名 = new 数据类型[]{值1,值2,值3,...}; // 方式3(方式2的简化版) 数据类型[] 数组名 = {值1,值2,值3,...};
三、数组元素的赋值和获取
索引(index):也称为下标,从0开始,数组中索引的范围:
[0,长度-1]
获取:
数组名[下标]
赋值:
数组名[下标] = 值;
注:
数组下标必须是int类型的,如果是浮点数类型的,则编译失败
数组下标的范围是
[0,长度-1]
,如果下标不在这个范围内,会发生ArrayIndexOutOfBoundsException
数组下标越界异常如果定义数组时只指定了数组的长度,没有明确数组中的元素值,那么这个数组中的元素也都默认值:
整型:0
浮点型:0.0
字符型:空格
布尔型:false
其他:null
数组中的元素值存在自动类型转换,但是数组没有自动类型转换
获取数组的长度:
数组名.length
输出数组名输出的是数组在内存中地址
四、数组的遍历
通过循环获取数组中的每一个元素就是数组的遍历
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,...}, ... }
二维数组中元素的获取和赋值同一维数组
二维数组的遍历