• 带你一起玩转—Java 数组


    🎨 个人介绍

    👉大家好,我是:知识的搬运工旺仔

    👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻

    👉你的支持,是我每天更新的动力。

    👉赞点:👍 留言:✍ 收藏:⭐

    👉个人格言:想法一步一步的落实,才是你我前进最佳选择。

    1. Java 数组简介

    1. 数组对于每一门编程语言来说都是重要数据结构之一,当然不同语言对数组的实现及处理也不尽相同
    2. Java 语言中提供的数组用来存储固定大小的同类型元素
    3. 你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,…,number99

    2. 声明数组变量

    2.1 声明数组变量简介

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

    2. 没有声明的变量是不能使用的

    3. 声明数据有两种方法

      1. 一种是在数据类型上声明,经常使用这一种
      2. 另一种是在变量上声明

    2.2 声明数组变量的语法

    dataType[] arrayRefVar;   // 首选的方法
     // 或者
    dataType arrayRefVar[];  // 效果相同,但不是首选方法
    
    • 1
    • 2
    • 3

    2.3 代码实例

    public class School {
        public static void main(String[] args) {
            int[] intArray = new int[20];
            for (int i = 0 ; i< 20 ; i++ ) {
                intArray[i] = i; 
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3. 创建数组

    3.1 创建数组简介

    1. 使用 dataType[arraySize] 创建了一个数组
    2. 新创建的数组引用赋值给变量 arrayRefVar
    3. 数组的元素通过索引访问的
    4. 数组索引0开始,所以索引值从 0 到 arrayRefVar.length-1
    5. 我们通常使用For-Each 循环操作数组

    3.2 创建数组的语法

    dataType[arraySize] arrayRefVar = new dataType[arraySize];
    // 或者
    dataType[] arrayRefVar = {value0, value1, ..., valuek};
    
    • 1
    • 2
    • 3

    4. For-Each 循环

    4.1 For-Each 循环简介

    1. JDK 1.5 引进了一种新的循环类型,被称为 For-Each 循环或者加强型循环,它能在不使用下标的情况下遍历数组
    2. 它的底层实现原理是通过迭代器实现的

    4.2 For-Each 循环语法格式

    for(type element: array)
    {
        System.out.println(element);
    }
    
    • 1
    • 2
    • 3
    • 4

    4.3 代码实例

    public class School {
        public static void main(String[] args) {
            int[] intArray = new int[20];
            for (int i = 0 ; i< 20 ; i++ ) {
                intArray[i] = i; 
            }
            // 使用增强for 遍历数组
            for( int array : intArray) {
                System.out.println(array);   
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    5. 二维数组

    5.1 二维数组的简介

    1. 二维数组我们可以理解为数组的嵌套
    2. 我们可以说,在一个数组里边,有放进去了一个一维数组
    3. 二维数组,我们也可以理解它是一张网格

    5.2 二维数组的创建

    type[][] typeName = new type[typeLength1][typeLength2];
    
    • 1

    5.3 创建二维数组参数说明

    1. type 可以为基本数据类型复合数据类型
    2. typeLength1 和 typeLength2 必须为正整数,typeLength1 为行数,typeLength2 为列数

    5.4 代码实例

    public class School {
        public static void main(String[] args) {
            int[][] intArray = new int[20][20];
            for (int i = 0 ; i< 20 ; i++ ) {
                for (int j =0 ; j < 20 : j++) {
                    intArray[i][j] = i; 
                }    
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    6. Arrays 类

    6.1 Arrays 简介

    1. java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态
    2. 它封装的是一些我们对数组常用操作的封装
    3. 它就是一个关于数组的工具类

    6.2 Array 功能介绍

    1. 数组赋值:通过 fill 方法。
    2. 数组排序:通过 sort 方法,按升序。
    3. 比较数组:通过 equals 方法比较数组中元素值是否相等
    4. 查找数组元素:通过 binarySearch 方法能对排序好数组进行二分查找法操作

    6.3 一些api的说明

    序号方法和说明
    1public static int binarySearch(Object[] a, Object key)
    1. 用二分查找算法在给定数组中搜索定值的对象(Byte,Int,double等)
    2. 数组调用前必须排序好
    3. 如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)
    2public static boolean equals(long[] a, long[] a2)
    1. 如果两个指定的 long 型数组彼此相等,则返回 true
    2. 如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的
    3. 如换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。
    3public static void fill(int[] a, int val)
    1. 将指定int 值分配给指定 int 型数组指定范围中的每个元素
    2. 同样的方法适用于所有的其他基本数据类型(Byte,short,Int等
    4public static void sort(Object[] a)
    1. 对指定对象数组根据其元素的自然顺序进行升序排列
    2. 同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)

    🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…

  • 相关阅读:
    GitHub访问慢解决办法
    富文本编辑器(添加列表)
    JSIS3D:具有多任务点状网络和多值条件随机场的3D点云的联合语义实例分割
    基于SkyEye运行Qt:著名应用程序开发框架
    Nacos注册中心
    opencv优秀文章集合
    【Spring源码分析】Bean的元数据和一些Spring的工具
    能迪科技智能控制系统对中央空调进行精准、单独调控医院案例
    常见面试题之计算机网络
    CCF编程能力等级认证GESP—C++3级—样题1
  • 原文地址:https://blog.csdn.net/weixin_46213083/article/details/126202521