java中的数组

本文详细介绍了Java中的数组,包括定义、声明与创建、内存分析、初始化方式、基本特点、数组边界、使用方法(普通for循环、for-each循环、作为方法参数及返回值)、多维数组以及如何利用Arrays类进行操作。通过示例展示了数组的创建、赋值、遍历、求和、查找最大值等操作,并讲解了二维数组的使用。
摘要由CSDN通过智能技术生成

一,数组的定义

1)数组是相同类型数据的有序集合;

2)数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。

二,数组的声明于创建

1,首先,必须声明数组变量,才能在程序中使用数组。

2,使用new操作符来创建数组。

3,数组的元素是通过索引来访问的,数组索引从0开始。

4,获取数组长度:arrays.length;

//1,声明
        int[] nums;//定义一个数组   ------>推荐使用
        int nums2[];
        //2,创建
        nums = new int[10];//可以存放10个int型元素

        //3,给数组中元素赋值
        nums[0] = 1;
        nums[1] = 2;
        nums[2] = 3;
        nums[3] = 4;
        nums[4] = 5;
        nums[5] = 6;
        nums[6] = 7;
        nums[7] = 8;
        nums[8] = 9;
        nums[9] = 10;

        System.out.println(nums[2]);

        //计算所有元素之和
        int sum = 0;
        for (int i = 0; i < nums.length; i++) {
            sum += nums[i];
        }
        System.out.println(sum);
    }

输出结果:

3
55

三,内存分析

四,三种初始化

1,静态初始化

 int[] a = {1,2,3,4,5};

 2,动态初始化

 int[] b = new int[10];
 b[0] = 10;

3,数组的默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组已经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

五,数组的四个基本特点

1,其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。

2,其元素类型必须是相同的,不用于出现混合类型。

3,数组中的元素可以是任何数据类型,包括基本类型和引用类型。

4,数组变量属于引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中,因此数组无论保存原始类型,还是其他对象类型,数组本身是在堆中。

六,数组边界

下标合法区间:[0,length-1]

如果越界ArrayIndexOutofBounds

七,数组使用

1,普通的for循环

        int[] arrays = {1,2,3,4,5};

      
        //打印全部的数组元素
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }

        System.out.println("==============");
        //计算所有元素的和
        int sum = 0;
        for (int i = 0; i < arrays.length; i++) {
            sum += arrays[i];
        }
        System.out.println(sum);

        System.out.println("================");
        //查找最大元素
        int max = arrays[0];
        for (int i = 1; i < arrays.length; i++) {
            if(arrays[i] > max){
                max = arrays[i];
            }
        }
        System.out.println(max);

输出结果:

1
2
3
4
5
==============
15
================
5

2,for-Each循环

       int[] arrays = {1,2,3,4,5};
       
       for(int array:arrays){
           System.out.println(array);
       }

输出结果:

1
2
3
4
5

3,数组作方法入参

public static void printArray(int[] arrays){
        for (int i = 0; i < arrays.length; i++) {
            System.out.println(arrays[i]);
        }
}

main中调用:

printArray(arrays);

输出结果:

1
2
3
4
5

4,数组作返回值

//反转数组
    public static int[] reverse(int[] arrays){
        int[] result = new int[arrays.length];

        //反转算法
        for (int i = 0,j = result.length-1; i < result.length; i++,j--) {
            result[i] = arrays[j];
        }
        return result;
 }

main中调用:

printArray(reverse(arrays));

输出结果:

5
4
3
2
1

八,多维数组

多维数组可以看成是数组的数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组。

二维数组

int[][] array = new int[11][11];
        //多维数组
        int[][] array ={{1,2},{2,3},{3,4},{4,5}};

        System.out.println(array[2][1]);
        System.out.println("==========");
        System.out.println(array.length);
        System.out.println(array[0].length);

        //打印二位数组的元素
        for (int i = 0; i < array.length; i++) {
            for (int j = 0; j < array[i].length; j++) {
                System.out.print(array[i][j]);
            }
        }

输出结果:

4
==========
4
2
12233445

九,Arrays类   java.util.Arrays

        //工具类

       Arrays.sort(arrays);
       Arrays.fill(arrays,2,4,0);
       Arrays.toString(arrays);

除此之外,还有很多方法,可查看JDK帮助文档。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力学习的小西瓜

谢谢您,小西瓜会继续努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值