java中的数组
语法:
数据类型[] 数组名 = {元素1, 元素2, ..., 元素n}
// 或者
数据类型 数组名[] = {元素1, 元素2, ..., 元素n}
注意:
- 数组相当于一个
大的容器
,里面按顺序
存放了很多相同类型的数据元素
; - 想要获取数组中的元素,可以通过其
下标
来访问; - 数组下标从
0
开始,以数组长度-1
结束(同JavaScript中的数组是一样的);
举个栗子:
如何使用 Java 中的数组
Java 中操作数组只需要四个步骤:
1、 声明数组
语法:
数据类型[ ] 数组名;
// 或者
数据类型 数组名[ ];
// 其中,数组名可以是任意合法的变量名即可;
声明一个学生姓名/年龄/性别/分数的数组,如下:
String[] stuNames;
int[] stuAges;
char stuSexs[];
double stuScores[];
2、 分配空间
指定数组中
最多可存储多少个元素
;
语法:
数组名 = new 数据类型 [ 数组长度 ];
数组长度就是数组中能存放元素的个数;
给声明的数组分配空间,如下:
stuNames = new String[5];
stuAges = new int[5];
stuSexs = new char[5];
stuScores = new double[5];
同变量的声明类似,也可以在在声明数组的同时为它分配空间,如:
该操作等价于步骤1+步骤2;
String[] stuNames = new String[5]
int[] stuAges = new int[5];
char[] stuSexs = new char[5];
double[] stuScores = new double[5];
3、 赋值
分配空间后就可以向数组中放数据
了,数组中元素都是通过下标
来访问的;
stuNames[0] = "adminZz";
stuAges[0] = 23;
stuSexs[0] = '男';
...
4、 处理数组中数据
我们可以对赋值后的数组进行操作和处理,如获取并输出数组中元素的值;
System.out.println("我是"+stuNames[0]+stuAges[0]+"岁");
合并前4步,一步到位的写法:
在 Java 中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成,如:
int[] nums = {1, 2, 3, 4};//创建一个长度为4的整型数组;
它等价于:
int[] nums = new int[]{1, 2, 3, 4};
// 注意:new出来的数组,[]中必须为空,不能指定长度;
需要注意的是:
Java中不能给数组指定长度,它不像C语言可以指定数组的长度;
int nums[5] = {1, 2, 3, 4, 5};//在C中是不会报错的;
但是
int[5] nums = {1, 2, 3, 4, 5};
或
int[] nums = new int[5]{1, 2, 3, 4, 5};//这两种写法在Java中都会报错;
自带验证:
牢记Java中数组的三种方法:
- int[] nums = new int[5];
法1需要指定数组的长度,动态生成; - int[] nums = {num1, num2, ..., numN};
- int[] nums = new int[]{num1, num2, ..., numN};
法2,3在声明数组的同时赋值时不能指定数组长度,静态生成;
小结:
数组的定义格式
格式1:
数据类型[] 数组名;
格式2:
数据类型 数组名[];
下次看到格式2,不要大惊小怪,在语法上是没有问题的;
数组初始化概述:
Java中的数组必须先初始化
,然后才能使用;
何为初始化:
就是为数组中的数组元素分配内存空间
,并为每个数组元素赋值
;
数组的初始化方式:
动态初始化:初始化时
只指定
数组长度
,由系统
为数组分配初始值
;静态初始化:初始化时
指定
每个数组元素的初始值
,由系统决定数组长度
;
注意:这两种定义做完了,数组中是没有元素值的。
-
动态初始化格式:
数据类型[] 数组名 = new 数据类型[数组长度];
- 数组
长度
其实就是数组中元素
的个数
;
- 数组
举个栗子:
int[] myArr = new int[5];
即定义了一个int类型的myArr的数组,这个数组中可以存放5个int类型的值,如果不自己赋初值的话,系统默认初值全部为0;
静态初始化
则刚好相反,指定了每个位置上的元素,即初值,但不能指定数组长度,由系统决定数组的长度;
先更到这里了,over,喜欢的点个❤