• 数组


    一.数组的概述

    1、什么是数组
        1)、数组是一个引用数据类型。
        2)、 数组中存放一组相同数据类型的数。
    2、数组的存储结构
       1)、 数组在内存分配相同大小的连续空间存储数组中的数据。
        2)、数组的大小是固定不变的
       3)、 数组名中存放数组首元素的"地址"
        4)、数组中的元素有下标。下标从0开始。
        5)、访问某个元素格式为:数组名[下标]
        6)、数组长度属性:length。最大下标为:length-1
     6)、数组的下标不能超过数组的最大下标,否则引发异常:java.lang.ArrayIndexOutOfBoundsException;

    二.数组的优缺点

    1、数组的优点
    数组在内存中连续存储数组元素,因此遍历数组元素的速度快
    2、数组的缺点
    随机添加和删除的速度慢
    数组的大小固定。因此当存放的数据多于元素的大小的,需要对原数组进行扩容与复制

    三.一维数组

    1、创建一维数组的语法
    数据类型  []数组名  = new 数据类型[大小];
    2、分析基本类型一维数组和引用类型的一维数组的内存分析
    2.1 基本类型一维数组中的每个元素存放的是值
         
    2.2 引用类型数组中的每个元素存放是所引用对象的"地址"
         
    3、一维数组的赋值方式
    3.1 一个元素一个元素的赋值

    1 int []a = new int[5];
    2 a[0] = 20;
    3 a[1] = 11;
    4 a[2] = 12;
    5 a[3] = 13;
    6 a[4] = 14;

    3.2  使用循环依次给每个元素录入值

    Scanner input = new Scanner(System.in);
    int []a = new int[5];
    System.out.println("录入数组的值: ");
    for(int i = 0;i<a.length;i++){
       System.out.println("输入第"+(i+1)+"个元素的值:");
       a[i] = input.nextInt();
    }

    3.3  在定义数组时直接赋值

    1 //此方法赋值,必须写在一行
    2 int []a = {1,23,45,62}
    3 //new int[]{};此处的[]中不能写数组的大小
    4 int []b = new int[]{21,22,32,54,26}; 

    4、一维数组的遍历

    1 //输出数组的值,使用循环
    2 System.out.println("数组中的值为: ");
    3 for(int i = 0;i<a.length;i++){
    4    System.out.print(a[i]+"	");
    5 }

    四.main方法的args参数

    1、使用java命令给main方法传参
    java 类名 值1 值2 值3


    2、在eclipse中运行程序时给main方法传参
    2.1、点击工具栏中的Run按钮 

    2.2、在弹出的界面中选择并点击Arguments

    2.3、在弹出的Program arguments框里填写参数,多参数以空格隔开。

    2.4 最后点击Run运行即可!运行的结果为:

    五.一维数组的扩容和拷贝

    1、使用System.arraycopy()方法
    1)方法的原型:

    public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

    2)方法参数的含义:
    -->src- 源数组。
    -->srcPos- 源数组中的起始位置。
    -->dest- 目标数组。
    -->destPos- 目标数据中的起始位置。
    -->length- 要复制的数组元素的数量。
    2、使用Arrays.copyOf()方法实现数组的复制与扩容
    1) 方法的原型
    public static int[] copyOf(int[] original, int newLength)
    2)方法的参数
    -->original- 要复制的数组
    -->newLength- 新数组的长度
    3)方法的返回值
    -->返回复制后的新数组
    3、自己编写代码实现数组的复制与扩容

    六.二维数组(代码中我们常用二维数组)

    1、二维数组的概念
    以一维数组为元素的一维数组。

    2、二维数组的定义:
    数据类型  [][] 数组名 = new 数据类型[大小][元素所引用的一维数组的大小] 

    1 int [][]a = new int[3][2];
    2 System.out.println(a.length); //数组的长度为3
    3 System.out.println(a[0].length);// 数组中第一个元素所引用的一维数组的长度是2
    4 System.out.println(a); //数组的首地址
    5 System.out.println(a[0]);// 数组中第一个元素所引用的一维数组的首地址
    6 System.out.println(a[0][0]);// 0
    7 System.out.println(a[2][1]); // 0

    3、二维数组如何赋值和遍历

     1 int [][]a = new int[3][2];
     2 a[0][0] = 20;
     3 a[0][1] = 11;
     4 a[1][0] = 12;
     5 a[1][1] = 13;
     6 a[2][0] = 14;
     7 a[2][1] = 15;
     8 //输出二维数组中的数据
     9 for(int i = 0;i<a.length;i++){
    10    System.out.println("第"+(i+1)+"个元素的值:");
    11    for(int j=0;j<a[i].length;j++){
    12       System.out.println(a[i][j]+"	");
    13    }
    14    System.out.println("
    =============");
    15 }
  • 相关阅读:
    DPDK — 网卡初始化流程(Intel 82599 ixgbe 网卡驱动示例)
    leetcode 3. 无重复字符的最长子串
    20193120 实验四 Python综合实践
    hadoop常用的端口号
    Django学习笔记
    ORACLE EBS AP invoice 到付款的数据流
    EBS 系统标准职责定义MAP
    Advanced Pricing
    Oracle Advanced Pricing White Papers
    增加AP INVOICE 行&分配行
  • 原文地址:https://www.cnblogs.com/wangzhengyu/p/8547819.html
Copyright © 2020-2023  润新知