Java中数组长度为0和数组是null以及数组未初始化,有啥区别

数组未初始化:

这个数组完全是不可用的,没有初始化的数组毫无意义,一旦使用会编译报错。

数组长度为0和数组为null都是可以使用的,可以认为是经过初始化的,但都不是正常数组。

数组长度为0:(只在内存中存在结构但没有存储单元,不能存储任何数据

1、直接打印数组名可以获取数组对象的地址。

2、不能访问任何数组下标,否则会抛出数组下标越界异常。

3、输出数组的长度为0.

数组为null:表示数组的引用指向了null,数组(对象)无法进行任何操作

1、直接打印数组名得到一个null字符串。“null”

2、不能访问任何数组下标,否则会报空指针异常。

3、不能输出数组长度,否则会报空指针异常。

附:

JDK自带数组遍历实现:Arrays.toString(数组名)

增强for循环快捷键:数组名.for

for (数据类型 变量名:要遍历的数组或集合名) { }

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在C语言,指针数组数组指针都是指针和数组的组合,但是它们的含义和用法是不同的。 指针数组是一个数组,其每个元素都是一个指针。它的定义形式为:`type *array_name[size]`,其`type`是指针指向的数据类型,`array_name`是数组的名称,`size`是数组的大小。例如,`int *ptr_arr[5]`就是一个包含5个`int`指针的数组数组指针是一个指针,它指向一个数组。它的定义形式为:`type (*ptr_name)[size]`,其`type`是数组元素的数据类型,`ptr_name`是指向数组的指针,`size`是数组的大小。例如,`int (*ptr_arr)[5]`就是一个指向包含5个`int`元素的数组的指针。 区别在于,指针数组是一个数组,它的每个元素都是一个指针,而数组指针是一个指针,它指向一个数组。因此,指针数组可以通过索引访问每个元素,每个元素都是一个指针,它可以指向不同类型的数据。而数组指针可以通过指针运算访问数组的元素,因为它指向的是一个数组,它只能指向相同类型的数组。 举个例子,如果有一个`int`类型的数组`arr`,那么可以定义一个指针数组来保存每个元素的指针: ``` int arr[5] = {1, 2, 3, 4, 5}; int *ptr_arr[5]; for (int i = 0; i < 5; i++) { ptr_arr[i] = &arr[i]; // 获取每个元素的指针 } ``` 也可以定义一个数组指针来指向整个数组: ``` int arr[5] = {1, 2, 3, 4, 5}; int (*ptr_arr)[5]; ptr_arr = &arr; // 获取整个数组的指针 ``` 总的来说,指针数组数组指针都是非常常用的数据结构,但它们的用法和定义有所不同,需要根据实际情况选择使用哪种数据结构。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值