Java的一维数组详解

Java数组的概述:

1、 数组(Array),是多个相同类型数据按照一定的顺序排列集合,并且使用一个名字来命名,通过编号的方式来对这些数据来进行管理。
2、 数组的相关概念:

1、 数组名:数组的名称,用于区分不同的数组,数组只有一个名称,即标识符,要符合标识符规范。
2、 元素类型:数组要存储的元素的数据类型。
3、 数组元素:向数组中存放的数据/元素。
4、 元素下标:对数组元素进行编号,元素下标标明了元素在数组中的位置,从0开始;数组中的每个元素都可以通过下标来访问。
5、 数组长度:数组长度固定不变,避免数组越界。

3、 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用数据类型。
4、 数组的长度一旦确定,就不能修改。
5、 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是 这块连续空间的首地址。
6、 数组的分类:

1、按照维度:一维数组、二维数组、三维数组、… 2、按照元素的数据类型分:基本数据类型元素的数组、引用数据类型元素的数组(即对 象数组)

Java的一维数组的使用:初始化

动态初始化:数组声明且为数组元素分配空间

int[] arr = new int[3];
arr[0] = 3;
arr[1] = 9;
arr[2] = 8;

与赋值的操作分开进行

String names[];
names = new String[3];
names[0] = “李明”;
names[1] =“张三”;
names[2] = “王老狗”;

静态初始化:在定义数组的同时就为数组元素分配空间。

int arr[] = new int[]{ 3, 9, 8};
或 int[] arr = {3,9,8};

赋值:
String names[] = { “李四”,“张三”,“老王” }
new关键字:
Java中使用关键字new来创建数组。
定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
声明数组的语法格式1

    元素类型[] 数组名 = new 元素类型[元素个数或数组长度];

声明数组的语法格式2

     元素类型[] 数组名 = new 元素类型[]{元素,元素,……};

声明一个变量就是在内存空间划出一块合适的空间,声明一个数组就是在内存空间划出一串连续的空间。
注:

[]在元素类型后 或 数组名后都可以。
Java语言中声明数组时不能指定其长度(数组中元素的数), 例如: int

a[5]; //非法
示例一:
在这里插入图片描述

数组元素的引用方式:数组名[数组元素下标],如boy[0],boy[1]等。
数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3]; 可引用的数组元素为a[0]、a[1]、a[2]

    需要注意的是索引从0开始,到数组的长度-1结束。

一维数组的内存解析:

内存的简化结构:

1、栈(stack):存放基本类型的变量数据、局部变量和对象的引用,但对象本身不存放在栈中。
2、堆(heap):存放由new创建的对象和数组以及对象的实例变量。
3、静态存储区(static storage):又叫方法区:包含的都是在整个程序中永远唯一的元素,如class,static变量。
4、常量存储区(constant storage):常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。
5、静态区/静态域(static storage):随着类的加载而加载并初始化,存在于方法区内存中的字节码文件的静态区域中。

在这里插入图片描述

内存结构:
在这里插入图片描述

内存解析:
在这里插入图片描述

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肥常忧伤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值