• 052_数组_数组基本概念


    一、数组的概念介绍
      数组:数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们.
    二、数组的四个基本特点:
      1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
      2.其元素必须是相同类型,不允许出现混合类型。
      3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。
      4.数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组对象本身是在堆中的。

    三、数组的创建和初始化  

      1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,JVM才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如: int a[5]; //非法
      2.声明一个数组的时候并没有数组被真正的创建。
      3.构造一个数组,必须指定长度。

      声明(一维数组的声明方式有两种)

        1.type[] arr_name;(推荐使用这中方式)
        2.type arr_name[];

      初始化

      1. 静态初始化
      除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
        int[] a = {1,2,3};
        Man[] mans = {
        new Man(1,1),
        new Man(2,2)
        };
      2.动态初始化
      数组定义与为数组元素分配空间并赋值的操作分开进行。
        int[] a = new int[2];
        a[0]=1;
        a[1]=2;

    四、演示示例  

    package edu.aeon.test;
    
    /**
     * [说明]:测试一维数组的创建及初始化
     * 
     * @author aeon
     *
     */
    public class TestArray {
    
        public static void main(String[] args) {
            int[] s = null; // 1
            s = new int[10]; // 2
            for (int i = 0; i < 10; i++) {
                s[i] = 2 * i + 1;
                System.out.println(s[i]);
            } // 3
        }
    
    }

    结果截图:

      

    该示例在内存中的内存结构图为:

    blob.png
       

    blob.png

    blob.png

      创建引用类型一维数组示例:

      

    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Man{
    private int age;
    private int id;
    public Man(int id,int age) {
        super();
    this.age = age;
    this.id = id;
    }
    }

    blob.png

    blob.png
       

    1
    2
    3
    4
    public class AppMain {
    public static void main(String[] args) {
    Man[] mans;   
    mans = new Man[10];  //1

    blob.png

    1
    2
    3
    4
    5
    6
    Man m1 = new Man(1,11);
    Man m2 = new Man(2,22);  //2
    mans[0]=m1;
    mans[1]=m2;  //3
    }
    }

    blob.png

    如有任何疑问可联系邮箱: 给我发邮件、或直接联系QQ:1584875179 || 点返回首页

  • 相关阅读:
    AIX配置时间服务器(NTP)
    weblogic的集群与配置
    Linux平台块设备到字符设备(裸设备)的三种映射方式(转载)
    什么是条带化(striping) ?(转载)
    ORACLE directory 目录--转载
    Linux安装MySQL的两种方法
    Goldengate trial队列维护
    Oracle GoldenGate 11.2 OGG-01168(转)
    编程之美---最大公约数
    敏感词过滤的算法原理之DFA算法
  • 原文地址:https://www.cnblogs.com/aeon/p/9981257.html
Copyright © 2020-2023  润新知