Java数组(十八)

数组(array)

问:如何编写代码保存4名学生的考试成绩?

答:定义4个变量。

问:那“计算全年级400名学生的考试成绩”,怎么办?

......

数组,就可以帮助我们解决问题~

数组可以理解为是一个巨大的“盒子”,里面可以按顺序存放多个类型相同的数据。例如:定义int型的数组scores来存储4名学生的成绩。

数组是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

数组中的元素都可以通过下标来访问,下标从0开始。例如:可以通过scores[0]获取数组中的第一个元素76,scores[2]就可以取到第三个元素92。

数组特点:

-  数组可以是一维数组、二维数组或多维数组。

-  数组元素的默认值为0,而引用元素的默认值为null。

-  数组的索引从0开始,如果数组有n个元素,那么数组的索引是从0到(n-1)。

-  数组元素可以是任何类型,包括数组类型。

 

Java中操作数组只需要四个步骤:

1)声明数组

语法:数据类型[] 数组名;  /  数据类型 数组名[];

    其中,数组名可以是任意合法的变量名。如:

2)分配空间

简单来说,就是指定数组中最多可存储多少个元素。

语法:数组名 = new  数据类型 [数组长度];

    其中,数组长度就是数组中能存放元素的个数。如:

也可以将上面的两个步骤合并,在声明数组的同时为它分配空间。如:

3) 赋值

分配空间后就可以向数组中放数据了,数组中元素都是通过下标来访问的。例如:向scores数组中存放学生成绩。

4)处理数组中数据

对赋值后的数组进行操作和处理,如:获取并输出数组中元素的值。

在Java中还提供了另外一种直接创建数组的方式,它将声明数组、分配空间和赋值合并完成。

 

它等价于:

 

使用循环操作Java中的数组

实际开发中我们经常使用循环控制数组成员的操作。如:

 

运行结果:

 

其中,数组名.length用于获取数组的长度

 

使用循环遍历数组中元素的值。如:

运行结果:

 

定义一个整型数组,并赋初值61,23,4,74,13,148,20。

定义变量分别保存最大值、最小值、累加值和平均值,并假设数组中的第一个元素既为最大值又为最小值。

使用for循环遍历数组中的元素,分别与假定的最大值和最小值比较。如果比假定的最大值要大,则替换当前的最大值;如果比假定的最小值要小,则替换当前的最小值。

循环执行过程中对数组中的元素进行累加求和。

循环结束根据累加值计算平均值,并打印输出相关内容。

代码如下:

public class HelloJava {
        public static void main(String[] args) {         
            // 定义一个整型数组,并赋初值
            int[] nums = new int[] { 61, 23, 4, 74, 13, 148, 20 };            
            int max = nums[0]; // 假定最大值为数组中的第一个元素
            int min = nums[0]; // 假定最小值为数组中的第一个元素
            double sum = 0;// 累加值
            double avg = 0;// 平均值     
            for (int i = 0; i < nums.length; i++) { // 循环遍历数组中的元素
            // 如果当前值大于max,则替换max的值            
                if (nums[i]>max) {
                    max=nums[i];
                }            
            // 如果当前值小于min,则替换min的值
                if (nums[i]<min) {
                    min=nums[i];
                }        
            // 累加求和
                sum=sum+nums[i];  
            }            
            // 求平均值
                avg=sum/7;            
            System.out.println("数组中的最大值:" + max);
            System.out.println("数组中的最小值:" + min);
            System.out.println("数组中的平均值:" + avg);
        }
    }

运行结果:

 

 

posted @ 2020-03-16 16:22  梦清欢  阅读(281)  评论(0编辑  收藏  举报