数组是编程语言中最常见的一种数据结构,可用于存储多个数据。Java的数组要求所有的数组元素具有相同的数据类型,Java的数组既可以用来存储基本类型的数据,也可以用来存储引用类型的数据,只要所有的数组元素具有相同的类型即可。一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。
一、定义数组
Java支持两种语法形式类定义数组。
package cn.gome.c_object;
public class ArrayTest {
//1.定义数组
int[] array1;
int aray2[];
}
对于这两种语法格式,我们比较推荐的是第一种。因为第一种格式不仅具有更好的语意,而且具有更好的可读性。对于int[] array1,我们可以理解为这是一个变量,其中变量名是array1,而变量类型是int[]。而第二种格式int array2[],可读性就差了一些,看起来好像定义了一个类型为int的变量,但变量的名字是array2,这与真是的含义相差甚远。
数组是一种引用类型的变量,因此使用它定义一个变量时,仅仅表示定义了一个引用变量(也就是定义了一个指针),这个引用变量还未指向任何有效的内存,因此,定义数组时不能指定数组的长度,只用对数组进行初始化后才可以使用数组。
二、初始化数组
Java语言中,数组必须先初始化,然后才可以使用,所谓初始化,就是为数组元素分配内存空间,并为每个数组元素赋初始值。
1.静态初始化
静态初始化:初始化时由程序员显示指定每个数组元素的初始值,由系统决定数组长度。
package cn.gome.c_object;
public class ArrayTest {
//静态初始化
public static void main(String[] args) {
//1.定义数组
int[] array1;
int aray2[];
String[] stringArray;
//静态初始化1:只指定数组元素的初始值,不指定数组长度
array1 = new int[]{1,2,3,4};
aray2 = new int[]{1,2,3};
stringArray = new String[]{"周","江","霄"};
//静态初始化2:定义和初始化同时完成
int[] array3 = {1,2,3,4};
}
}
动态初始化:初始化时程序员只指定数组长度,有系统为数组元素分配初始值。
//=======================3.动态初始化==========================
int[] prices = new int[5];
Object[] books = new String[4];
数组最常用的用法就是访问数组元素,包括对数组元素进行赋值、访问数组元素值和获得数组长度等。
示例代码:
package cn.gome.c_object;
public class ArrayTest {
public static void main(String[] args) {
//=======================1.定义数组===========================
int[] array1;
int aray2[];
String[] stringArray;
//=======================2.静态初始化==========================
//静态初始化1:只指定数组元素的初始值,不指定数组长度
array1 = new int[]{1,2,3,4};
aray2 = new int[]{1,2,3};
stringArray = new String[]{"周","江","霄"};
//静态初始化2:定义和初始化同时完成
int[] array3 = {1,2,3,4};
//=======================3.动态初始化==========================
int[] prices = new int[5];
Object[] test = new String[4];
//=======================4.使用数组===========================
//初始化数组
Object[] books = new String[]{"西游记","红楼梦","水浒传","三国演义"};
//访问数组
System.out.println(books[2]);
//为数组赋值
books[0]="名著:";
//遍历数组
for (int i = 0; i < books.length; i++) {
System.out.println(books[i]);
}
}
}
执行结果如下:
以上就是关于数组最基本的知识。