Java是一种强类型的语言。既然是对象, 那么就必须属于一个类型,比如根据Person类创建一个对象,这个对象的类型就是Person。
int[] a1 = {1, 2, 3, 4}
System.out.println(a1.getClass().getName())
//打印出的数组类的名字为[I
String[] s = new String[2]
System.out.println(s.getClass().getName())
//打印出的数组类的名字为 [Ljava.lang.String
String[][] ss = new String[2][3]
System.out.println(ss.getClass().getName())
//打印出的数组类的名字为[[Ljava.lang.String
虚拟机自动创建了数组类型,可以把数组类型和8种基本数据类型一样, 当做java的内建类型。这种类型的命名规则是这样的。
每一维度用一个[表示;开头两个[,就代表是二维数组。
* [后面是数组中元素的类型(包括基本数据类型和引用数据类型)
在java语言层面上,s是数组,也是一个对象,那么他的类型应该是String[],这样说是合理的。但是在JVM中,他的类型为[java.lang.String。顺便说一句普通的类在JVM里的类型为 包名+类名,也就是全限定名。同一个类型在java语言中和在虚拟机中的表示可能是不一样的。
数组的定义
语法有两种:
type arrayName[]
type[] arrayName
type 为Java中的任意数据类型,包括基本类型和组合类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量。
/*** 数组的三种定义方法
*
* 1.数组类型[] 数组名=new 数组类型[数组长度]
* 2.数组类型[] 数组名={数组0,数组1,数组2,数组3,....}
* 3.数组类型[] 数组名=new 数组类型[]{数组0,数组1,数组2,...}
* */
public class WhatEver {
public static void main(String[] args) {
//第一种 例:
String[] test1 = new String[6]
test1[0] = "数组0"
test1[1] = "数组1"
//第二种 例:
String[] test2 = {"数组0","数组1","数组2","...."}
//第三种 例:
String[] test3 = new String[]{"数组0","数组1","数组2","...."}
}
}
Java数组是同一种类型数据的集合。其实数组就是一个容器。
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同。
Java 语言中提供的数组是用来存储固定大小的同类型元素。
你可以声明一个数组变量,如 numbers[100] 来代替直接声明 100 个独立变量 number0,number1,....,number99。