Java语言中规定 要求数组内的各个元素都有相同的数据类型,数组元素在数组中的排列是有顺序的,这种次序是数组的小标。下标是从0 开始。
一般的一维数组看做是是一个向量,因为集合是没有次序的概念的,也不允许有重复的元素。使用集合的时候,只需判定一个元素是不是属于某个集合,并不强调这个元素在集合中所处的位置或次序。在数组中,除了需要判定某个元素是否属于某个数组外,还会提到这个元素是数组中的第几个元素,因为访问数组中的元素时是需要指明它的次序的。
一维数组的定义格式如下:
类型 数组名[ ];
例如: mypoint points[ ];//说明一个名字为points的mypoint型的数组。
points的每一个元素都可以保存类mypoint的一个对象
class BankAccount{
private String owerName;
private int accountNumber;
private float balance;
BankAccount(String name, int number ; float ba){
owerName=name;
accountNumber=number;
balance=ba;
}
}
BankAccount[ ] accounts={ //一定要有一个概念 这每个元素是一个对象
new BankAccount("zhang",10037,100);
new BankAccount("zhang",10037,100);
new BankAccount("zhang",10037,100);
new BankAccount("zhang",10037,100);
}
与多数语言不同,Java中没有静态的数组定义,也就是说在仅有数组说明的时候,编译器不予许程序员指定数组的大小,数组的大小只能通过两种方式获取:1、枚举各个元素的初值,有系统自动计算元素的个数,2、使用new来进行空间的申请,前者是静态方式,后者是动态方式。
int inarrt[ 5];//这个是错误。
两种数组的定义说明:
char charArray[ ];
char [ ] charArray;
数组的默认初值可以这样来赋值:String names [] =new String [4]//含四个字符串
等价于 String names[ ];
names=new String [4];
给每个元素分别赋初值;names[0]="ggg",names[1]="bbbb";
动态初始化:
names[0]=new string("how");
names[1]=new string("are");
多维数组就是数组的嵌套;
定义: 类型 数组名[ ] [ ];
类型[ ] [ ] 数组名;
String names [ ] [ ]=new String [2][3];
如果数组说明中最大元素的个数是10,访问数组元素时给定的下标必须介于0到9 之间,如果超出最大值后,系统会抛出异常:数组越界 的异常(ArrayIndexOutOfBoundsException)