声明数组:
数据类型 数组名称 []=null;
开辟数组空间 :数组名称=new 数据类型 [长度]
例如 String product[ ]=null;
product=new String[100];
String Product[]=new String[100];
数组长度:数组名称.length;
数组必须开辟空间(实例化)
声明数组:
数据类型 数组名称 []=null;
开辟数组空间 :数组名称=new 数据类型 [长度]
例如 String product[ ]=null;
product=new String[100];
String Product[]=new String[100];
数组长度:数组名称.length;
数组必须开辟空间(实例化)
数组基本概念
数组在开发之中一定会使用,但是像以下讲解的时候这么用的数组少了.在以后的实际开发之中,你们会更多的使用数组概念,而直接使用数组99%的情况下都只是做一个数组的for循环输出.
如果说现在要求你定义100个整型变量,那么按照之前的一个做法,可能现在定义的结构如下:
int i1,i2,i3....i100;
但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你需要编写System.out.println()语句100次。
所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于我们的引用数据类型,那么既然是引用数据类型,这里面实际上又会牵扯到内存分配,而数组的定义有如下两类。
1. 数组的动态初始化:
数据类型 [] 数组名称 = new 数据类型 [长度];
数据类型 数组名称 [] = new 数据类型 [长度];
//声明数组:
数据类型 [] 数组名称 = null; //或者下面
数据类型 数组名称 [] = null;
//开辟数组空间
数组名称 = new 数据类型 [长度];
那么当数组开辟空间之后,就可以采用如下的方式进行操作:
范例:定义一个int数组
//开辟一个数组
public class Class15{
public static void main(String args[]) {
int data [] = new int [3];//开辟了一个数组长度为3的数组空间
data[0] = 10;//第一个元素赋值
data[1] = 11;//第二个元素赋值
data[2] = 12;//第三个元素赋值
//data.length 可以获取到该数组的长度
for(int i = 0;i < data.length;i++) {
System.out.println(data[i]);
}
}
}
数组本身除了声明并开辟空间之外还有另外一种开辟模式.
范例:采用分布模式开辟数组空间
//分布式开辟一个数组
public class Class16{
public static void main(String args[]) {
int data [] = null;//声明
data = new int [3];//开辟了一个数组长度为3的数组空间
data[0] = 10;//第一个元素赋值
data[1] = 11;//第二个元素赋值
data[2] = 12;//第三个元素赋值
//data.length 可以获取到该数组的长度
for(int i = 0;i < data.length;i++) {
System.out.println(data[i]);
}
}
}
但是千万要记住,数组属于引用数据类型,所以在数组使用之前一定要开辟空间(实例化),如果使用了没有开辟空间的数组,则一定会出现NullPointException异常信息:
public class Class16{
public static void main(String args[]) {
int data [] = null;//声明
System.out.println(data.length);
}
}
这一原则和之前讲解的对象操作是完全相同的.