关于数组和数组的几个问题

1、内存地址的计算

具体的内存地址为横坐标的二进制加上纵坐标的二进制,然后转换为16进制

2、数组的定义

数组可以存放多个同一类型的数据。 数组也是一种数据类型, 是引用类型,他在内存里是这个样子的。

定义的变量在栈中,然后在堆中创建数组,当JVM运行时,将引用变量ages转换为,数组中的首地址。

初始化:
nums = new int[3];

表示在堆内存中分配了一块地址三块区域,每块区域都存的是int值

定义:
int[] nums;//JVM运行时在栈中分配一个nums
初始化:
nums = new int[3];在堆内存中初始化一片空间
赋值:在内存中存入具体的值
nums[0] = 1;   
nums[1] = 4;
nums[2] = 3;
// 数组有一个属性,可以获得数组的长度 nums.length 
类型[] 名字 = new 类型[长度];

3、关于数组的几个问题

三个问题:

1、数组不初始化能赋值吗?不能因为没有在堆里面分配内存空间,而栈中的只是个符号引用

2、初始化之后,如果不赋值,会不会有默认值?只要给你开辟了空间就一定会有默认值。

3、数组能不能越界赋值,比如长度为三,非要给第五个赋值。不能因为会出现数组越界

4、数组一旦确认其长度就无法改变。’


 

 

4、数组的性质 

  1. 数组一旦建立,长度不能改变。

  2. 每个位置只能存一个值,多了会覆盖。

  3. 数组创建后会有默认值:int 0, short 0, byte 0, long 0, float 0.0,double 0.0, char \u0000, boolean false, String null

  4. 编号从0开始,下标必须在指定范围内使用, 否则报: 下标越界异常。

  5. 他有个长度的属性,最后一个位置的编号是 长度-1。 0 - length -1

  6. 数组里边可以是基本类型,也可以是引用类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值