数组_内存图

一,数组的含义

它是一个容器,可以存放多个相同数据类型的变量。

数据是一个引用数据类型(引用数据类型:地址值、默认值)二,

二,数组的初始化

A. 动态初始化 //给出了长度,没有给出具体的数据值

int[] array1 = new int[3]

B. 静态初始化 //给出具体的值,长度由系统帮助你推断

int[] array3 = new int[]{11,22,33,44}

int[] array3 = {11,22,33,44}

三,数组的遍历

A. 正向遍历  数组名称.fori 回车

B. 反向遍历  数组名称.forr 回车

C.增强型for循环 数组名称.for回车

D.迭代器

四,内存图

1. 基本数据类型
    A.整数类型    默认值是 0
    B.浮点数类型  默认值是 0.0
    C.字符类型    默认值是 '\u0000'
    D.布尔类型    默认值是 false

2. 引用数据类型
    如果是引用数据类型,默认值是 null 

3. Java当中的内存划分

  •  栈: stack [重点] 方法会在栈当中执行,存放的是局部变量(写在方法当中的变量叫做局部变量)
  •  堆: heap  [重点] 存放的是 new 出来的东西,有两个值(地址值和默认值)
  •  方法区: method area [重点] 存放的是 .class 相关信息,主要是方法的头信息(方法名称,参数列表,返回值类型)
  •  本地方法栈: native method stack
  •  寄存器: pc register

注意事项:数组操作的两个小问题

1. 数组索引越界异常   ArrayIndexOutOfBoundsException

 A.原因: 访问了不存在的数组索引

B.解决方案: 修改数组的索引

2. 空指针异常 NullPointerException

 A.原因: 忘记了 new 的操作

B.解决方案: 补上 new 

发布了14 篇原创文章 · 获赞 0 · 访问量 196

猜你喜欢

转载自blog.csdn.net/qq_45068627/article/details/103866784
今日推荐