• 4.Java数组


    1. 概念

    数组是一个容器,储存多个相同类型的数据 数组也是一个引用数据类型

    2. 特点
    1. 长度固定

    2. 数组元素数据类型相同

    3. 数组名对应内存中的一个地址值

    4. 数组有一个属性length 表示数组中元素的个数

    5. 数组中下标 0 到 length-1 ,访问元素时用 数组名[下标]

    3. 优缺点
    1. 优点:连续储存 便利速度快

    2. 缺点:

      1. 随机删除添加一个元素时,操作复杂

      2. 数组扩容比较消耗内存

     

    4. 定义
    1. 声明           数据类型[ ] 数组名;
    2. 开辟空间     数组名 = new 数据类型 [长度]
    3. 赋值            数组名[下标] = 值;
    4. 使用
       
    // 声明和开辟空间可以合并写
    数据类型 [] 数组名 = new 数据类型 [长度];    
    // 数组可以直接声明并赋值
    数据类型 [] 数组名 = {元素};

     

    5. 默认值
    1. 整形:0

    2. 浮点型:0.0

    3. 字符型:u0000

    4. 布尔型:false

    5. 引用类型:null

     

    6. 扩容复制
    1. System.copyarray(原数组,起始下表,新数组,起始下标,复制的长度);
    2. import java.util.Arrays;
      // 可以直接返回一个新数组
      Arrays.copyOf(原数组,新数组长度);
    7. 排序
    1. import java.util.Arrays;
      // 无返回值类型 按照从小到大升序排序
      Arrays.sort(数组);
    2. // 冒泡排序
      int[] arr = {2,4,1,3,5};
      for(int i = 0;i<arr.length-1;i++){
         for(int j = 0;j<arr.length-1-i;i++){
             if(arr[j]>arr[j+1]){
                 int temp = arr[j];
                 arr[j] = arr[j+1];
                 arr[j+1] = temp;
            }
        }
      }
    8. 查找
    1. 顺序查找

    2. 二分法查找

      import java.util.Arrays;
      // 返回的是下标,若是不存在返回一个负数
      Arrays.binarySearch(数组名,要查找的数字);
    9. 二维数组
    数据类型[][] 二维数组名 = new 数据类型[二维数组长度][每个元素数组的长度];

     

    每个元素都是一维数组的数组,每个元素都是一个一维数组的数组名,对应内存中的地址值

     

    注意:
    1. 数组为引用数据类型,数组名中储存的是一个地址值
    2. 数组名如果直接互相赋值,赋值传递的是地址值,导致两个数组操作的是同一块内存
    3. 基本数据类型直接赋值,传递的只是变量值,操作的不是同一块内存

     

  • 相关阅读:
    VIJOS1476 旅行规划(树形Dp + DFS暴力乱搞)
    神奇的图片
    How to locate elements/ Object locators for Android devices
    ZT: How to install appium with node.js
    How to get the appPackage and appActivity
    How to enable auto-complete for python in powershell
    Node.js
    Steps to develop an iterative algorithm
    Iterative Algorithm
    FSM
  • 原文地址:https://www.cnblogs.com/forelim/p/14658849.html
Copyright © 2020-2023  润新知