• java基础——数组


    数组

    Java内存的分配

    1. 栈内存:局部变量(在方法定义中的变量都是局部变量)执行程序之前会入栈,执行完成后会弹栈。
    2. 堆内存:存每一个“new”出来的数据,并分配内存地址以及数据初始化值。使用完会等待JVM垃圾回收去自动回收。每"new"一次都会在栈内存中开辟一个新空间。
    3. 方法区:加载.class文件先到方法区。
    4. 其他:本地方法区(储存和系统相关的信息),寄存器(CPU)。

    数组的定义

    1. 数组是一个用来存储相同类型的数据的容器,它可以储存多个变量(元素),但储存的变量的数据类型要一致。

    2. 数组的定义格式有两种:1. 数据类型[] 数组名;2. 数据类型 数组名[]。(推荐使用第一种方法)

    3. 数组初始化(上文中的“new“):Java中的数组需要先初始化才能使用。初始化就是分配储存空间。分为静态初始化和动态初始化。

      静态初始化:由我们赋值,由系统计算长度。静态初始化的简写方式:int[] a={10,20,30,40}。格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

      动态初始化:系统分陪储存空间和初始值,我们只需要录入数据。格式:数据类型[] 数组名=new 数据类型[数组长度];

    4. 数组的定义语法:1.动态定义方式:首先由我们规定数组的长度,系统赋默认值。创建一个数据类型的数组(没有赋值时默认是0)(布尔类型默认是FALSE)。之后向数组中存数据,当我们分配好数组后系统会给分配索引(角标)从零开始,通过索引存数据。取出数组中的元素时也根据索引来取出。未重新赋值时就取默认值。

    5. 引用数据类型:简单来说,使用new关键字初始化出来的东西就称之为引用数据类型(数组 接口 类)。多个引用可以指向同一个空间。

    数组的各种特性

    1. 数组长度:数组长度就是数组中有多少个元素。最后一个索引(角标)是数组长度减一,即:length-1.

    2. 数组异常:数组索引越界异常(Array Index Out Of Bounds Exception),就是说在获取或者输入数值时超出数组长度。

      空指针异常(Null Pointer Exception):数组的空间没有初始化好,引用不指向任何空间就会出现空指针异常。(人为至空,可以让jvm尽早回收堆内存中new的数据)

    3. 数组的遍历:就是依次输出数组中的每一个元素。具体操作程序:

      for (int i = 0; i < arr.length; i++) {
      System.out.print(arr[i]);

  • 相关阅读:
    AGC 018E.Sightseeing Plan(组合 DP)
    BZOJ.4767.两双手(组合 容斥 DP)
    AGC 001E.BBQ Hard(组合 DP)
    洛谷.3960.列队(线段树/树状数组)
    Codeforces Round #514 (Div. 2)
    10.4 正睿国庆集训测试 青岛
    Codeforces.264E.Roadside Trees(线段树 DP LIS)
    BZOJ.4653.[NOI2016]区间(线段树)
    Ansible安装部署以及常用模块详解
    Linux系统诊断必备技能之二:tcpdump抓包工具详解
  • 原文地址:https://www.cnblogs.com/a-xia/p/11401143.html
Copyright © 2020-2023  润新知