【JAVA】数组 中

简介: 【JAVA】数组

1.4 数组的使用

1.4.1 数组中元素访问

数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过下标访问其任意位置的元素。


比如:


public class Main {
    public static void main(String[] args) {
        int[] array = new int[]{10, 20, 30, 40, 50};
        System.out.println(array[0]);
        System.out.println(array[1]);
        System.out.println(array[2]);
        System.out.println(array[3]);
        System.out.println(array[4]);
    }
}

🍤 运行结果:


11a8c58be40689645934cbfbfcd44078_84a760bb1ab446cfafb727c4aa0afe19.png

也可以通过 [] 对数组中的元素进行修改:


public class Main {
    public static void main(String[] args) {
        int[] array = new int[]{10, 20, 30, 40, 50};
        array[0]=100;
        System.out.println(array[0]);
    }
}

🍤 运行结果:


e394d311c27a3092773e8b7ab39ee906_36f55d92a5704d3d8210a5c6000b58e4.png


注:


  • 数组是一段连续的内存空间,因此支持随机访问,即通过下标访问快速访问数组中任意位置的元素
  • 下标从0开始,介于 [0, N)之间不包含N,N为元素个数,不能越界,否则会报出下标越界异常
int[] array = {1, 2, 3};
System.out.println(array[3]); // 数组中只有3个元素,下标一次为:0 1 2,array[3]下标越界

🍤运行结果:


8023046b33d50288e567cce81f3f21db_5ded34a402754c7ab5574103d45096f0.png


1.4.2 遍历数组

所谓“遍历”是指将数组中的所有元素都访问一遍,访问是指对数组中的元素进行某种操作,比如:打印。


//打印数组中的每个元素
int[]array = new int[]{10, 20, 30, 40, 50};
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4])

上述代码可以起到对数组中元素遍历的目的,但问题是:


  1. 如果数组中增加了一个元素,就需要增加一条打印语句
  2. 如果输入中有100个元素,就需要写100个打印语句
  3. 如果现在要把打印修改为给数组中每个元素加1,修改起来非常麻烦

通过观察代码可以发现,对数组中每个元素的操作都是相同的,则可以使用循环来进行打印。


public class Main {
    public static void main(String[] args) {
        int[] array = new int[]{10, 20, 30, 40, 50};
        for (int i = 0; i < 5; i++) {
            System.out.println(array[i]);
        }
    }
}

🍤 运行结果:

47271b9f959c83f5db8ce2f9796e991d_e95f4b7767444aa089f7ca13143ef7f2.png


上述过程中,我们已知数组的长度,如果数组的长度未知,该如何获取到数组的长度呢?


在数组中可以通过 数组对象 .length 来获取数组的长度


public class Main {
    public static void main(String[] args) {
        int[]array = new int[]{10, 20, 30, 40, 50};
        for(int i = 0; i < array.length; i++){
            System.out.println(array[i]);
        }
        System.out.println(array.length);
    }
}

🍤 运行结果:


c518be5c1f794f414cfd5723fbdeefa1_566fed889d834f8ea0ae7abac6af55fd.png


也可以使用 for-each 遍历数组:


 int[]array = new int[]{10, 20, 30, 40, 50};
        for(int i:array){
            System.out.println(i);
        }

🍤 运行结果:

c489c0580abe74aa13069f7517b746cb_5adee50c7f2a47e087937a26eab8d6b9.png


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