java基础——数组

数组

Java内存的分配

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

数组的定义

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

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

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

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

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

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

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

数组的各类特性

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

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

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

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

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

相关文章
相关标签/搜索