一.数组的创建和使用
我们知道数组是一些相同类型元素的集合。其元素们的内存是一段连续的空间。(和C语言是一样的)
在Java中访问数组元素也是利用下标。
1.数组的创建及初始化
1.1数组的创建
1.2数组的初始化
数组的初始化分为动态初始化和静态初始化。
其实就和上面一样。
2.静态初始化:在创建数组时不直接指定数据元素个数,而直接将具体的数据内容进行指定。
语法格式:第一种写法 T[] 数组名 ={元素,元素,...} //在进行数组的初始化时其实可以将new T[]省略。
第二种写法 T[] 数组名 =new T[]{元素,元素...} //注意,加红这部分不用写数字在里面!例:
这两种初始化,其中静态初始化可以分成两步,但是省略格式不行(省略了new T[]的不行)。
如:
如果没有对数组进行初始化,数组中元素有其默认值。
如果数组中存储元素类型为基本数据类型,默认值为基本数据类型对应的默认值,比如:
2.数组的使用
2.1数组中元素访问
数组中的元素在内存中的地址是连续存放的,因此也是采用下标来连续访问数组元素。(和c语言一样)例:
注意不要越界!越界会有警告:
连续访问也可以使用:for-each,例:
x前面的类型是根据数组元素的类型来定的,这个循环的意思是,将数组array的值一个一个的赋给x。
2.2数组是引用数据类型
首先我们要了解基本类型变量和引用类型变量的区别:
由基本数据类型创建的变量叫基本类型变量,为该变量开辟的空间中直接存放着它的值。
由引用数据类型创建的变量,一般为对象的引用,其变量空间中存的是对象的地址。
例:
2.3认识null
null在java中表示“空引用”,也就是不指向对象的引用。
例:
运行结果:
所以null的作用类似于C语言中的NULL(空指针),都是表示一个无效的内存地址。因此不能对这个内存进行任何读写操作,一旦尝试读写就会报如上图的错误。
注意: Java 中并没有约定 null 和 0 号地址的内存有任何关联
2.4数组作函数的返回值
例: