数组

数组,就是一个容器,也就是一个特殊的变量。

特点:
1.数组是引用数据类型
2.可以存多个同类型的数据
3.数组的长度在运行期间不能够变改变

初始化一个数组 :
1. 动态初始化:
语法: 数据类型[] 数组的名称 = new 数据类型[数据的长度]; 指定长度
数据类型 : 表示数组存 的是同一种数据类型
[] : 表示其是数组
new 表示 其开辟空间
数据类型 :前后的数据类型必须一致
数据的长度:表示数组的容量

注意点: 1.动态初始化必须给其长度 2. 数组的类型既可以是引用数据类型 也就是基础数据类型 3. 数组只初始化都会有默认的值
决定数组的三个要素: 数组的数据类型 数组的名称 数组的长度

2.静态初始化 : 对其数据进行赋值
语法格式:
第一种:
int[] moneys= new int[]{88,128,168,228};
静态初始化时根据具体的值来推算出其长度
静态初始化不需要给其长度。
大括号里的值是以逗号来进行分割

第二种写法:
int[] moneys ={80,70,90,100};

2.数组里的取值 :
1.是通过数组的下标(索引)来取具体的值
2.索引是从0 开始的
3.索引永远比其长度小1.

如果直接输出是 数组的名称,获取的数组的内存地址 的哈希值.(16进制)
2进制 0 1
十进制 0123456789
16 进制 0123456789 abcdef
获取数组里的具体的值 数组的名称[下标] moneys[2]
获取数组的长度: moneys.length

java 划分了5块 :
1.栈
都是局部变量: 局部变量包含两部分
注意:
1.方法里的参数
2.方法类的变量
3. 只要离开作用域,值在栈里就不存在
4. 所有的方法的执行都是在栈里执行的
5.所有方法里的变量都是随着方法的开始而开始,方法的结束而结束(除了静态变量)

2.堆
只要是new 出来的东西都是在堆里, 所有存在堆里的数据都有一个内存地址,这个地址都是十六进制的
所有存在堆里的基础数据类型 或者是引用数据类型都有 默认值,比如:
int 0
double 0.0
String null
char \u0000 类似于""

3.方法区
class 字节码的信息 方法里的基本信息(比如方法叫什么名字)

4.本地方法栈 : 系统

5.寄存器 : cpu

数组的内存分析:
数组创建的时候, 都会在栈与堆里面有同样一个地址, 所有的赋值取值操作都是 通过栈里面的地址 ,去找堆里的 地址 进行赋值 取值.

赋值的方式 : 第一种直接赋值 2。通过循环来赋值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值