【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重复定义变量详解
这段对话讨论了Java中变量作用域和重复定义的问题。学生提问为何不能重复定义变量导致编译错误,老师通过多个示例解释了编译器如何区分不同作用域内的变量,包括局部变量、成员变量和静态变量,并说明了使用`this`关键字和类名来区分变量的方法。最终,学生理解了编译器在逻辑层面检查变量定义的问题。
Java重复定义变量详解
|
17天前
|
存储 缓存 算法
Java 数组
【10月更文挑战第19天】Java 数组是一种非常实用的数据结构,它为我们提供了一种简单而有效的方式来存储和管理数据。通过合理地使用数组,我们能够提高程序的运行效率和代码的可读性。更加深入地了解和掌握 Java 数组的特性和应用,为我们的编程之旅增添更多的精彩。
30 4
|
17天前
|
存储 缓存 算法
提高 Java 数组性能的方法
【10月更文挑战第19天】深入探讨了提高 Java 数组性能的多种方法。通过合理运用这些策略,我们可以在处理数组时获得更好的性能表现,提升程序的运行效率。
17 2
|
25天前
|
存储 Java
Java“(array) <X> Not Initialized” (数组未初始化)错误解决
在Java中,遇到“(array) &lt;X&gt; Not Initialized”(数组未初始化)错误时,表示数组变量已被声明但尚未初始化。解决方法是在使用数组之前,通过指定数组的大小和类型来初始化数组,例如:`int[] arr = new int[5];` 或 `String[] strArr = new String[10];`。
|
27天前
|
Oracle Java 关系型数据库
重新定义 Java 对象相等性
本文探讨了Java中的对象相等性问题,包括自反性、对称性、传递性和一致性等原则,并通过LaptopCharger类的例子展示了引用相等与内容相等的区别。文章还介绍了如何通过重写`equals`方法和使用`Comparator`接口来实现更复杂的相等度量,以满足特定的业务需求。
17 3
|
1月前
|
存储 Java
什么是带有示例的 Java 中的交错数组?
什么是带有示例的 Java 中的交错数组?
42 9
|
29天前
|
存储 Java 编译器
Java集合定义其泛型
Java集合定义其泛型
17 1
|
1月前
|
Java
Java数组动态扩容和动态缩减
Java数组动态扩容和动态缩减
19 3
|
1月前
|
存储 Java 程序员
【一步一步了解Java系列】:何为数组,何为引用类型
【一步一步了解Java系列】:何为数组,何为引用类型
21 1
|
1月前
|
存储 XML Java
如何在 Java 中将常见文档转换为 PNG 图像数组
如何在 Java 中将常见文档转换为 PNG 图像数组
13 1
下一篇
无影云桌面