07-java入门——数组1

数组:一种容器,可以用来存储同种数据类型的多个值,按照一定顺序排列的集合,包含数组名称(变量名称)、元素。通过编号的方式对数组元素进行管理
数组容器在存储数据时,需要结合隐式转换考虑
例:int类型的数组容器可以存byte、short、int
double类型的数组容器可以存byte、short、int、long、float、double
建议:容器的类型,和存储的数据类型保持一致

数组的特点:
  • 有序的序列
  • 属于引用数据类型,数组元素可以是基本数据类型,也可以是引用数据类型
  • 数据创建时,会在内存开辟一整块连续的空间
  • 数组的长度一旦确定,不能修改

数组分类:一维数组、多维数组

数组的定义和初始化

数组初始化有两种方式:静态初始化、动态初始化

数组的定义有两种格式:

  • 格式一:数据类型[] 数组名 例:int[] array 平时最习惯的格式
  • 格式二:数据类型 数组名[] 例:int array[]

数组的初始化:在内存中,为数组容器开辟空间,将数据存入容器的过程

静态初始化格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…}; // 初始化和声明同时完成
例:int[] array = new int[]{11,22,33}; double[] array = new double[]{11.1,22.2,33.3};
实际开发中更多用简化格式:数据类型[] 数组名 = {元素1,元素2,元素3…}; // java类型推断

例:int[] arr = {1,2,3,4}; System.out.println(arr); // 输出 [I@1b6d3586 ,这是数组容器在内存中的地址值
地址值的格式含义:[ :表示当前是一个数组 I:表示当前数组里面的元素都是int类型
@:表示一个间隔符号(固定格式,无特殊含义) 1b6d3586:数组真正的地址值(十六进制)
平时习惯会把 [I@1b6d3586 这个整体叫做数组的地址值,但只有1b6d3586才是真正的地址值

数组的动态初始化:初始化时只指定数组长度,由系统为数组分配初始值 // 声明无初始化
格式:数据类型[] 数组名 = new 数据类型[数组长度]; 例:int[] arr = new int[3]; // 只能存三个元素
默认初始化值的规律:

  • 整数类型:默认初始化值为 0 long是0L
  • 小数类型:默认初始化值为 0.0
  • 字符类型:默认初始化值为0或者 ‘\u0000’ (空格)
  • 布尔类型:默认初始化值为 false
  • 引用数据类型:默认初始化值为 null
数组动态初始化和静态初始化的区别:

动态初始化:手动指定数组长度,由系统给出默认初始化值
使用场景:只明确元素个数,不明确具体数值,推荐使用动态初始化

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度
使用场景:明确了要操作的数据类型,直接静态初始化即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值