一个编程小白的Java战役(11)

一个编程小白的Java战役

——太原理工大学机器人团队学习打卡day11

随着时间的推移,我们的学习内容也变得越来越深奥。当然,毕竟我是小白,所以不会整太难的(因为我自己也看不懂)。今天就是一个对大神十分有用,但是对初学者极端不友好的内容——数组。

1、数组的定义

学习使用数组之前,我们先来认识一下它。数组其实就是一组数,用计算机领域的话来说,它是相同数据类型的组合。因为它是数据类型的组合,我们就要声明它,跟数据类型一样的声明方式,就是注意要加个方括号,在变量前后都没问题,注意加就好。
一个编程小白的Java战役(11)
当然,方括号加哪还是有点不同的。如果变量全在方括号后,则变量全是数组;如果变量一部分在方括号前,一部分在后,则方括号前的是数组。

2、数组初始化

在数组声明后,我们要为数组分配空间(下面是例子),这,就是数组初始化。
一个编程小白的Java战役(11)
用new分配完空间,我们就可以拿方括号来引用对象了。

注意:C语言和C++中可以在数组声明时直接分配空间,但是Java不行。原因是Java中,数组是个引用类型。
一个编程小白的Java战役(11)

静态初始化

在分配空间时,也就是初始化的时候,我们可以直接给它赋初值(使用花括号),这叫做静态初始化。
一个编程小白的Java战役(11)
注:此时不能声明空间,因为花括号中已经表明了元素个数。

默认初始化

因为数组是引用类型,所以一旦分配空间,就默认给我们赋了一个隐式初始化,即数值类型默认为0,引用类型默认为null,从而使元素为确定的而不是随意的(C语言没有默认初始化),增强了程序稳定性。
一个编程小白的Java战役(11)

3、数组元素的引用

一个编程小白的Java战役(11)
注意:Java中数组分配空间以后,其长度固定。(有一个属性length来指明它的长度)因此,Java里的数组要安全的多。

4、增强的for语句

这是Java中额外增加的,用来更方便的处理数组。
一个编程小白的Java战役(11)
(冒号我们翻译成in,代表数组中的全部元素)

注:这种语句是只读式的遍历,即只能访问,不能赋值。

5、数组的复制

我们还可以用arraycopy来复制数组。

例如:
一个编程小白的Java战役(11)
这个函数避免了我们手工的用for循环来拷贝数组中的元素。

6、今日小结

今天就讲到这吧,数组还有更复杂的形式,让我们明天再了解。