Java中的数组

Java中的数组

数组的特点:

1.数组是一种引用数据类型

2.数组当中的多个数组,类型必须统一

3.数组的长度在程序运行的期间不可改变

数组的初始化:

在内存当中创建一个数组,并且赋予一些默认值 分为:

1.动态初始化(指定长度) ------未赋值

2.静态初始化(指定内容) ------直接赋值

数组的定义格式一:

动态初始化数组格式:

数据类型 [ ] 数组名称 = new 数据类型 [ 数组长度 ]

int []a = new int [5];

数组的定义格式二:

静态初始化基本格式:

数据类型 [ ] 数组名称 = new 数据类型 [ ] { 里面写具体的数据 }

int []a = new int [] {1,2,3,4,5}

注意事项:

虽然静态初始化没有直接告诉长度,但是根据大括号中数据个数,自动推算长度

数组的定义格式三:

省略格式:

数据类型 [ ] 数组名称 = { 写具体数据 }

数组名称的直接打印:

直接打印数组名称,得到的是数组的对应的:内存地址哈希值

[I@75412c2f   中括号 代表为 数组类型   I 表示里面的类型为 int型
			 @75412c2f 为十六进制 ( 0 1 2 3 4 5 6 7 8 9 a b c d e f )

Java的内存:

Java的内存需要划分为五个部分:

1.栈(Stack):存放的都是方法中的局部变量。

​ 局部变量: 方法的参数 或者是方法{ }内部的变量

​ 局部变量一旦超出作用域,立刻从栈内存当中消失

​ 方法的运行在栈中运行

2.堆 (Heap):凡是 new 出来的东西,都在堆当中。

​ 堆内存里面的东西都有一个地址值:16进制

​ 堆内存里面的数据,都有默认值。规则:

​ 如果是整数 默认为0

​ 如果是浮点数 默认为0.0

​ 如果是字符 默认为 ’ \u0000 ’

​ 如果是布尔 默认为 false

​ 如果是引用类型 默认为 null

3.方法区(Method Area): 存储.class 相关信息,包含方法的信息。

​ 但是方法的实时运行在栈中运行

4.本地方法栈 (Native Method Stack) : 与操作系统相关。

5.寄存器 (pc Register) :与CPU相关。

重点 : 栈 堆 方法区

运行流程:

1.方法区 里面添加方法信息

2.方法区 将方法中的变量信息移交至 栈

为方法在栈中开辟一块内存空间

3.方法里面的 new 在堆里 开辟空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值