数组

一、概述

       数组:就是用于存储【相同数据类型】的数据的【容器】。

       为什么要使用数组:没有数组,存在多个变量,需要声明多个变量的名称,这些名称之间没有什么关联,想访问所有的变量,比较困难。有了数组,只需要有一个数组容器的名称,容器里面有通过数字表示位置。同时这些数字位置有规律,结合数组名称非常容易的去访问所有的变量。数字位置可以称为索引,数组在内存中开辟了一块连续的内存空间。

二、定义和初始化

1.数组的定义格式

       格式1:数据类型[] 数组名;(推荐使用)  如: int[] nums ;

       格式2:数据类型 数组名[]; (兼容c语言的格式) 如 int nums[]

2.数组初始化

       所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。

       注意:Java中的数组必须先初始化,然后才能使用。

     (1)动态初始化

     格式:数据类型[] 数组名 = new 数据类型[数组长度];  

     举例:int[] arr = new int[3]; //解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值。

     详细解释

public static void main(String[] args) {
    int[] arr = new int[3];
    System.out.println(arr);//[I@5f150435
}

     以上方法执行,输出的结果是[I@5f150435,这个是什么呢?是数组在堆内存中的地址。

     [:表示一个一维数组。(如果是[[,表示二维数组)

     I:表示数组中存放的是int类型的数组

     @:连接符,没有实际意义

     5f150435:表示数组中的起始的内存地址值。数组名称 arr  可以存数组的地址。

     注意new出来的内容,都是在堆内存中存储的,而方法中的变量arr保存的是数组的地址。

     (2)静态初始化

     格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…}; 

     举例:int[] arr = new int[]{1,2,3}; //解释:定义了一个int类型的数组,这个数组中可以存放3个int类型的值,并且值分别是1,2,3。

     简化格式:数据类型[] 数组名 = {元素1,元素2,...};

     举例:int[] arr = {1,2,3};

3.访问数组元素

     索引:每一个存储到数组的元素,都会自动的拥有一个编号,从0开始,这个自动编号称为数组索引(index)(下标),可以通过数组的索引访问到数组中的元素。

     格式:数组名[索引]

     数组的长度属性

     每个数组都具有长度,而且是固定的,Java中赋予了数组的一个属性,可以获取到数组的长度。

     语句为: 数组名.length ,属性length的执行结果是数组的长度,int类型结果。

     由此可以推断出,数组的最大索引值为数组名.length-1 。

class Test {
	public static void main(String[] args){
		int[] arr = {1,2,3,4,5};
		System.out.println(arr.length);//5
}

     索引访问数组中的元素

     数组名[索引]=数值,为数组中的元素赋值。

     变量=数组名[索引],获取出数组中的元素。

     

三、数组内存图

1.概念

     内存是计算机中的重要元件,可以用来给程序临时存储数据。我们编写的程序,必须放进内存中才能运行,运行完毕后会清空内存。Java虚拟机要运行程序,必须要对内存进行空间的分配和管理。

2.JVM内存划分

     JVM是执行java程序的容器,空间很大,需要划分不同的空间,不同的功能,需

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值