03-Java数组
3.1 数组概述
数组就是具有相同数据类型的一组数据的集合,当需要使用的变量很多,而且数据类型相同时,一个个声明就很麻烦,这是可以声明一个数组,然后对数组进行操作。例如:球类的合集:篮球、足球、羽毛球等,电器的集合:电视机、洗衣机、电风扇等,就可以定义在一个数组中。
3.2 一维数组
一维数据实质上就是一组相同类型的数据的集合,当程序处理一组数据或者传递一组数据时,可以使用这种类型的数组。
数组元素类型[] 数组名字;
数组元素类型:决定了数组的数据类型,它可以时java中的任意数据类型
符号[]:指明该变量时一个数组类型的变量,单个[]表示要创建的是一维数组
声明数组后,还不能访问它的元素,因为声明数组只是给数组名字和元素的数据类型,要想使用数组,还要为其分配内存空间,且分配内存空间时,指定数组的长度,语法如下:
数组名字 = new 数组元素类型[数组元素的个数];
arr = new int[5];
数组名字:已经声明的数组变量的名称
new:对数组分配空间的关键字
数组元素的个数:指定数组中变量的个数,即数组的长度。
声明数组并分配内存空间
int month[] = new int[12];
上面的代码创建了一个一维数组month,并指定了数组的长度是12
3.2.1 初始化一维数组
数组可以和基本数据类型一样进行初始化,数组的初始化可以分别初始化数组中的每个元素。
int arr[] = new int[]{1,2,3};//第一种初始化方式
int arr2[] = {5,6,7};//第二种初始化方式
初始化数组时,可以省略new运算符和数组的长度,编译器根据初始值的数量来自动计算数组长度,并创建数组。
一维数组练习
public class SumNum {
public static void main(String[] args) {
//使用数组存储1-5这5个整数
//求出这5个数的和,并输出
int arr[] = {1,2,3,4,5};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum = sum + arr[i];
}
System.out.print(sum);
}
}
获取一维数组的小值练习
public class MinNum {
public static void main(String[] args) {
//通过for循环和if条件语句,再根据数组
//下标求出数组元素中最小的值
int num[] = {8,3,4,6,10};
System.out.println("输出一维数组");
for (int i = 0; i < num.length; i++) {
System.out.println(num[i] + " ");
}
int min = num[0];
for (int j = 0; j < num.length-1; j++) {
if (min > num[j + 1]) {
min = num[j + 1];
}
}
System.out.println("数组最小的值是" + min);
}
}
3.3 二维数组
二维数组声明语法:
数组元素类型 数组名字[][];
数组元素类型[][] 数组名字;
创建二维数组语法:
int myarr[][];
二维数组在声明时,没有分配内存空间,同样也要用关键字new来分配内存,然后才可以访问每个元素。
a = new int[2][4]
分配内存后,二维数组a有两个长度是4的一维数组,分配图如下:
分别为每一维单独分配内存:
a = new int[2][];
a[0] = new int[2];
a[1] = new int[3];
二维数组初始化
type arrayname[][] = {value1,value2,value3...};
int myarr[][]{{1,2,3},{4,5,6}};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通