Java基础4--数组

1 数组

1.1 什么是数组?

数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。

格式一

数据类型[] 数组

int[] arr;        
double[] arr;      
char[] arr;

格式二

数据类型 数组名[]

int arr[];
double arr[];
char arr[];

1.2 数组初始化

1.2.1 动态初始化

数组动态初始化就是只给定数组的长度,由系统给出默认初始化值

数据类型[] 数组名 = new 数据类型[数组长度];
int[] arr = new int[3];
  • 等号左边:

    • int:数组的数据类型

    • []:代表这是一个数组

    • arr:代表数组的名称

  • 等号右边:

    • new:为数组开辟内存空间

    • int:数组的数据类型

    • []:代表这是一个数组

    • 5:代表数组的长度

1.2.2 静态初始化

  • 完整版格式

    数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...};
    
  • 简化版格式

    数据类型[] 数组名 = {元素1,元素2,...};
    

代码示例:

public class ArrayDemo {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {1, 2, 3};

        //输出数组名
        System.out.println(arr);

        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

1.2 数组访问

1.2.1 索引介绍

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。

​这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。
获取指定下标值:
数组名[索引];

1.2.2 代码示例

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];

        //输出数组名
        System.out.println(arr); //[I@880ec60

        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

1.2.3 常见异常

  • 索引越界异常
    ArrayIndexOutOfBoundsException
    数组长度为3,获取下标5的值

  • 空指针异常
    NullPointerException

    ```
    int[] arr = new int[3];
      //把null赋值给数组
     arr = null;
    ```
    

    arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出

2 内存分配

2.1 什么是内存?

内存是计算机中的重要原件,临时存储区域,作用是运行程序。

​ 我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的。

​ 必须放进内存中才能运行,运行完毕后会清空内存。

​ Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。

2.2 内存分配

区域名称 作用
寄存器 给CPU使用,和我们开发无关。
本地方法栈 JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区 存储可以运行的class文件。
堆内存 存储对象或者数组,new来创建的,都存储在堆内存。
方法栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
posted @ 2020-12-13 11:50  全栈老刘  阅读(74)  评论(0编辑  收藏  举报