【0基础学Java】数组的定义和使用

简介: 【0基础学Java】数组的定义和使用

前言


本篇文章我们来学习一下Java中的数组


一、数组的概念和使用场景


数组:一组相同类型元素的集合

那么我们再什么时候要用数组呢?比如说:我们要储存一个班同学的学习成绩,如{100分,99分,85分,60分…},这时候我们发现,一个一个的定义他们的成绩太麻烦了,这时候就引入了数组的概念。我们可以把这些数据都放入一个容器中,这个容器就叫做数组。


二、数组的定义方式


我们其实有三种定义方式:

这三种定义方式其实本质都是一样的,只不过第一种省略了new。


三丶数组的使用


我们首先来看一下如何获得数组的长度。

我们用.length直接就得到了数组中元素的个数。


我们用下标来访问数组。比如:System.out.println(arr[0]);就是打印arr数组中下标为0的元素。

注意:数组下标从0开始,而不是从1,所以下标访问操作不能超出有效范围 [0, length - 1] , 如果超出有效范围, 会出现下标越界异常。


四丶 一个例题加深对数组的理解


public class FIRST {
    public static void main(String[] args) {
        int[] arr={9,7,8};
        func1(arr);
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
        System.out.println("**********");
       func2(arr);
        for (int i=0;i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
    public static void func1( int[]array){
        array=new int[]{1,2,3};
    }
    public static void func2( int[]array){
        array[0]=90;
    }
}


这个例子我们先定义了一个数组,然后把数组分别传入两个函数,分别看一下运行结果。这段代码的运行结果为:

经过第一个函数后数组内容为9 7 8

经过第二个函数后数组内容变为90 7 8

我们来看一下为什么会出现这种结果:

这个函数遇到他的花括号后就结束了,函数没有后他的栈帧就被销毁了,所以他指向的内容也销毁了,这个函数其实相当于什么都没干,就是在中间改变了一下引用的指向。

第二个函数就是找到了数组中下标为0的元素,把他修改为90。


总结


本篇文章我们初步学习了一下数组。

本篇文章内容结束,感谢大家观看。如果意见或建议,可以在评论区留言,您的点赞是我更新的动力。我们下篇文章再见。

目录
相关文章
|
1天前
|
并行计算 Java API
Java 8中的接口默认方法和静态方法以及并行数组
【5月更文挑战第19天】Java 8引入了许多新特性,其中包括接口的默认方法和静态方法,以及并行数组的能力。这些特性增强了Java的面向对象编程模型和数组处理能力。让我们深入了解它们的概念和实践。
18 2
|
2天前
|
算法 搜索推荐 Java
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
【5月更文挑战第8天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
29 8
滚雪球学Java(33):数组算法大揭秘:应用案例实战分享
|
3天前
|
存储 Java 测试技术
滚雪球学Java(32):如何理解和实现稀疏数组
【5月更文挑战第7天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
14 1
滚雪球学Java(32):如何理解和实现稀疏数组
|
5天前
|
存储 Java 测试技术
滚雪球学Java(30):多维数组:定义和初始化一次搞定
【5月更文挑战第5天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
8 0
滚雪球学Java(30):多维数组:定义和初始化一次搞定
|
5天前
|
搜索推荐 算法 Java
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
【5月更文挑战第4天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
13 0
滚雪球学Java(29):数组长度和排序算法:让你的程序更高效
|
5天前
|
存储 Java
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
【5月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
13 2
滚雪球学Java(28):轻松掌握数组:访问和遍历技巧
|
5天前
|
存储 Java 索引
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
10 3
|
5天前
|
存储 算法 搜索推荐
滚雪球学Java(27):从零开始学习数组:定义和初始化
【5月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
12 3
滚雪球学Java(27):从零开始学习数组:定义和初始化
|
5天前
|
Java 索引
Java中数组详解
Java中数组详解
45 19
|
5天前
|
Java
解析java中的数组
解析java中的数组
15 3