Java数组类型

数组是什么?

数组是一个固定长度的数据结构,用于保存多个相同数据类型的值。在数据类型之后或在变量声明中的变量名称之后放置[],使变量成为数组。

例如,

int myID;

  
  
Java

上面是一个简单的变量声明。 这里,int是数据类型,myID是变量名。

数组声明

上面的这个声明意味着myID变量可以保存一个整数值。如果要声明数组,可在上面的声明中的数据类型之后放置[],如下所示 -

int[] myID;

  
  
Java

使myID是一个数组变量。上面的声明应叫作“myID是一个int数组”。可以通过在变量名之后放置[]来使myID变量成为一个数组,像这样:

int myID[];

  
  
Java

上述两个声明都是有效的。
不能在声明数组时指定数组可以保存的值的数量。可以声明一个数组来保存同数据类型的多个值。 以下是其它形式的数组声明示例:

// salary can  hold  multiple float  values 
float[] salary;

// name can  hold  multiple references to String objects
String[]  name;

// emp can  hold  multiple references to Employee objects
Employee[]   emp;

  
  
Java

创建数组

数组创建的一般语法如下:

以下代码创建Arraylength长度类型为ArrayDataType的数组对象

new ArrayDataType[Arraylength];

  
  
Java

要创建一个数组来存储5int类型的值:

new int[5];

  
  
Java

在此表达式中,5是数组的长度,它也称为数组的维度。有多个维度的数组称为多维数组。还可以将数组的声明及其创建在一个语句中组合。

int[] myID = new int[5];

  
  
Java

因为所有数组都是对象,所以它们的引用可以分配给对象类型的引用变量。 例如,

int[] myID = new int[5]; // Create an  array object
Object obj  = myID;              // A  valid  assignment

  
  
Java

显式数组初始化

当声明数组或使用new运算符创建数组对象时,可以显式初始化数组的元素。元素的初始值由逗号分隔,并用大括号{}括起来。

// Initialize the array at the time of declaration 
int[] myID = {1, 2, 3, 4, 5};

  
  
Java

此代码创建长度为5的int数组,并将其元素初始化为12345。数组的长度与数组初始化列表中指定的值的数量相同。逗号跟随初始化列表中每个值直到最后一个值。

// A  comma   after the   last  value 5  is valid.
int[] myID = {1, 2, 3, 4, 5, };

  
  
Java

或者,可以初始化数组的元素,如下所示:

int[] myID = new int[]{1, 2, 3, 4, 5};

  
  
Java

对于引用类型数组,可以指定初始化列表中的对象列表。以下代码说明了String的数组初始化。

String[] names = {new String("A"), new String("B")};

  
  
Java

String[] names = {"C",  "D"};

  
  
Java

增强for循环数组

可以使用for-each循环与数组。语法如下:

for(DataType e  : array)  {

}

  
  
Java

以下代码使用for-each循环打印int数组的所有元素:

int[] numlist = {1, 2, 3};
for(int num : numlist)  { 
   System.out.println(num);
}

  
  
Java

可以使用基本的for循环完成同样的事情,如下:

int[] numlist = {1, 2, 3};
for(int i = 0; i < numlist.length; i++) { 
   int num = numlist[i]; 
   System.out.println(num);
}

  
  
Java

数组对象的类

数组是对象。Object类中的getClass()方法返回类的引用。
以下代码说明如何获取数组的类名。

public class Main {
  public static void main(String[] args) {
    int[] iArr = new int[1];
    int[][] iiArr = new int[1][1];
    int[][][] iiiArr = new int[1][1][1];

    String[] sArr = { "A", "B" };
    String[][] ssArr = { { "A" }, { "B" } };
    String[][][] sssArr = {}; // A 3D empty array of string

    // Print the class name for all arrays
    System.out.println("int[]:" + getClassName(iArr));
    System.out.println("int[][]:" + getClassName(iiArr));
    System.out.println("int[][][]:" + getClassName(iiiArr));
    System.out.println("String[]:" + getClassName(sArr));
    System.out.println("String[][]:" + getClassName(ssArr));
    System.out.println("String[][][]:" + getClassName(sssArr));
  }
  public static String getClassName(Object obj) {
    Class c = obj.getClass();
    String className = c.getName();
    return className;
  }
}

  
  
Java

上面的代码生成以下结果。

int[]:[I
int[][]:[[I
int[][][]:[[[I
String[]:[Ljava.lang.String;
String[][]:[[Ljava.lang.String;
String[][][]:[[[Ljava.lang.String;

  
  
Java

数组的类名以左中括号[开头。左括号的数量等于数组的维数。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值