发布时间:2026-06-22阅读(1)

“嗨~大家好!我是学长,今天的你过得还好吗?”
“这里是offer学院,帮你轻松拿offer”
- 2022.11.21 -
我们要统计一个公司50名员工的工资情况。
例如计算平均工资。按照我们之前所学的知识,在程序中我们需要声明 50个变量,salary1、salary2、...、salary50,来分别记住每个员工的工资,然后计算平均值,这样做,是不是非常麻烦。
double salary1 = 100;double salary2 = 100;...double salary50 = 100;double average = (salary1 salary2 ... salary50) / 50;
有没有优化方法呢?
Java开发者就给了我们一个解决办法,用一组相连的集合,来记着这50个员工的工资,然后对他们进行操作。
double sum = 0;double average;double[] salary[100];....for (int i = 0; i < 100; i ) { sum = sum salary[i];} average = sum / 100;
这种一组数据的集合,就叫做 “数组”,这就是它的由来。
一、了解数组定义:
数组是指一组数据的集合,数组中的每个数据被称为元素。在数组中可以存放任意类型的元素,但是在同一个数组里面存放的元素类型必须一致。
分类:
数组可以分为一维数组和多维数组(最常见的是二维数组)。
本小节我们主要先给大家讲一下一维数组。
语法:
数组类型[] 数组名 = new 数组类型[数组长度]; 数组类型[] 数组名 = new 数组类型[]{数组元素0, 数组元素1, ...}; 数组类型[] 数组名 = {数组元素0, 数组元素1, ...};
一维数组定义:
int[] ids = new int[100];String[] names = new String[] {"西熙", "叮当", "糖糖", "次龙"};
内存图:
我们在这小节中,通过一个简图,让大家体会下Java中不同数据在内存中的存放位置,也就是java中内存的简单结构。

数组在内存中的变化图如下:

1. 创建一个整型数组ids,长度为5
2. 在堆区会有创建一片区域,然后这块区域的地址引用,存放在栈区的ids 变量中。
代码演示:
public class Demo13_1 { public static void main(String[] args) { // 1. 第一种方式定义数组 int[] ids = new int[50]; // 输出整个数组 System.out.println("ids = " ids); // 输出数组第一个元素 System.out.println("ids[0] = " ids[0]); // 输出数组最后一个元素 System.out.println("ids[99] = " ids[49]); //下面这句会报错// System.out.println("ids[99] = " ids[51]); // 2. 第二种方式定义数组 String[] names = new String[] {"乔峰", "段誉", "虚竹", "无崖子"}; // 输出整个数组 System.out.println("names = " names); // 输出数组第一个元素 System.out.println("names[0] = " names[0]); // 输出数组最后一个元素 System.out.println("names[3] = " names[3]); // 3. 第三种方式定义数组 Object[] objects = {1, "张三丰", "男", 20, "18933943343", "fff@163.com"}; // 输出整个数组 System.out.println("objects = " objects); // 输出数组的长度 System.out.println("数组长度 = " objects.length); // 输出数组第一个元素 System.out.println("objects[0] = " objects[0]); // 输出数组最后一个元素 System.out.println("objects[" (objects.length - 1) "] = " objects[objects.length - 1]); }}
分析:
1. 直接打印数组变量,并不能输出数组里的数据,输出的是变量类型@哈希码。
2. 数组是一组相同类型的数据,有一个共同的名字,可以通过下标取访问每一个元素。
注意:数组下标是从0开始的,对于上述定义的数组ids,长度是50,因此第一个元素时ids[0],最后一个元素是ids[49],访问ids[50]是要出错的,下标越界了。数组ids的长度,可以通过其length属性获取。
Java中不同数据类型元素的初始值:

在程序开发中,数组的应用非常广泛,灵活地使用数组对实际开发很重要。接下来,本节将针对数组的常见操作,如数组的遍历、最值的获取、数组的排序等,进行详细地讲解。
数组元素的访问:
public class Demo13_2 { public static void main(String args[]){ int num1[] = new int[5]; num1[0] = 32; //每个元素单独初始化 num1[1] = 543; num1[2] = 17; num1[3] = 8; num1[4] = 95; int num2[] = new int[10]; for(int i=0;i<10;i ){ //采用循环方式初始化 num2[i] = i 1; } System.out.println("第一个数组:"); for(int j=0;j<num1.length;j ){ //采用循环方式输出数组的所有元素 System.out.print(num1[j] " "); } System.out.println(); System.out.println("第二个数组:"); for(int x=0;x<num2.length;x ){ System.out.print(num2[x] " "); } }}
数组的属性:
数组是引用类型,具有属性,常用的数组属性就是数组的长度length,在使用时需注意:
数组的遍历:
public class Demo13_3 { public static void main(String[] args) { int a[] = {1,-12,33}; int sum = a[0]; int max = a[0]; int min = a[0]; for(int i=1;i<a.length;i ){ sum = sum a[i]; if(a[i]>max){ max = a[i]; } if(a[i]<min){ min = a[i]; } } double ave = (double)sum/3; System.out.println("平均值" ave); System.out.println("最大值" max); System.out.println("最小值" min); }}
循环赋值:
public class Demo13_4 { public static void main(String[] args) { // 声明一个整型数组 int[] arr = new int[10]; // 使用for循环对数组arr进行遍历,将数字1到10赋值给数组arr for (int i = 0; i < arr.length; i ) { arr[i] = i 1; } // 循环赋值完成,此时 arr = {1,2,3,4,5,6,7,8,9,10} // 遍历数组,打印数组中每一个元素 for (int i = 0; i < arr.length; i ) { System.out.print(arr[i] "\t"); } }}
遍历获取元素:
public class Demo13_5 { public static void main(String[] args) { // 初始化一个整型数组 int[] arr = {1,2,3,4,5}; // 使用for循环遍历数组arr for (int i = 0; i < arr.length; i ) { // 打印位置i的元素 System.out.println("索引位置" i "的元素为:" arr[i]); } }}
增强for循环:
public class Demo13_6 { public static void main(String[] args) { // 初始化字符串数组 words String[] words = {"Welcome ", "to ", "java"}; for(String word: words) { System.out.print(word); } }}
实例中遍历了一个单词数组,并且将它们打印成了一个句子。for each循环对words数组进行了遍历,并依次将每个索引的值赋值给了word变量,然后再执行循环体中的语句。显然 for each循环的代码看起来更加清晰。但增强for循环无法指定遍历顺序,也无法获取数组的索引。
本小节我们学习了 Java 数组,知道了数组是引用数据类型。
它在创建时,会在内存中开辟一个连续的空间;数组是同一数据类型的集合。
可以使用数组下标来引用数组元素,数组元素的下标都是从0开始,使用下标不要超出范围,否则会抛出异常。
可以使用length属性获取数组的长度。我们在下一小结看看多维数组的使用与学习吧。
✅
还是那句话:我亦无他,唯手熟尔!

我们下期再见!
END

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图