【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。


总结


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

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

目录
相关文章
|
8天前
|
存储 安全 Java
Java数组(Arrays)详解
Java 中的数组是一种用于存储固定数量同类型数据的高效数据结构,支持连续内存存储和随机访问。数组可以声明并初始化,通过索引访问和修改元素,获取长度,使用循环遍历,支持多维形式,并可通过 `Arrays` 类的方法进行复制和排序。数组具有固定大小和类型安全的特点,但需注意越界等问题。灵活运用数组能显著提升编程效率。
|
22天前
|
存储 Java 数据处理
Java 数组的高级用法
在 Java 中,数组不仅可以存储同类型的数据,还支持多种高级用法,如多维数组(常用于矩阵)、动态创建数组、克隆数组、使用 `java.util.Arrays` 进行排序和搜索、与集合相互转换、增强 for 循环遍历、匿名数组传递以及利用 `Arrays.equals()` 比较数组内容。这些技巧能提升代码的灵活性和可读性,适用于更复杂的数据处理场景。
|
22天前
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
37 2
|
14天前
|
存储 Java
java数据结构,线性表顺序存储(数组)的实现
文章介绍了Java中线性表顺序存储(数组)的实现。线性表是数据结构的一种,它使用数组来实现。文章详细描述了线性表的基本操作,如增加、查找、删除、修改元素,以及其他操作如遍历、清空、求长度等。同时,提供了完整的Java代码实现,包括MyList接口和MyLinearList实现类。通过main函数的测试代码,展示了如何使用这些方法操作线性表。
|
2月前
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
34 2
|
2月前
|
Java
Java数组的应用场景
Java数组的应用场景
29 1
|
2月前
|
存储 机器学习/深度学习 Java
Java数组
Java数组
27 1
|
2月前
|
存储 开发者 C#
WPF与邮件发送:教你如何在Windows Presentation Foundation应用中无缝集成电子邮件功能——从界面设计到代码实现,全面解析邮件发送的每一个细节密武器!
【8月更文挑战第31天】本文探讨了如何在Windows Presentation Foundation(WPF)应用中集成电子邮件发送功能,详细介绍了从创建WPF项目到设计用户界面的全过程,并通过具体示例代码展示了如何使用`System.Net.Mail`命名空间中的`SmtpClient`和`MailMessage`类来实现邮件发送逻辑。文章还强调了安全性和错误处理的重要性,提供了实用的异常捕获代码片段,旨在帮助WPF开发者更好地掌握邮件发送技术,提升应用程序的功能性与用户体验。
40 0
|
2月前
|
存储 Java 开发者
揭秘!HashMap底层结构大起底:从数组到链表,再到红黑树,Java性能优化的秘密武器!
【8月更文挑战第24天】HashMap是Java集合框架中的核心组件,以其高效的键值对存储和快速访问能力广受开发者欢迎。在JDK 1.8及以后版本中,HashMap采用了数组+链表+红黑树的混合结构,实现了高性能的同时解决了哈希冲突问题。数组作为基石确保了快速定位;链表则用于处理哈希冲突;而当链表长度达到一定阈值时,通过转换为红黑树进一步提升性能。此外,HashMap还具备动态扩容机制,当负载因子超过预设值时自动扩大容量并重新哈希,确保整体性能。通过对HashMap底层结构的深入了解,我们可以更好地利用其优势解决实际开发中的问题。
67 0
|
2月前
|
存储 搜索推荐 算法
在 Java 中如何更改数组列表的顺序
【8月更文挑战第23天】
30 0