【名师课堂】Java面向对象开发

【名师课堂】Java面向对象开发

Java核心第二部
106课时 |
23947人已学 |
(24 评论)

加入学习
加入学习

数组基本概念

数组在开发之中一定会使用,但是像以下讲解的时候这么用的数组少了.在以后的实际开发之中,你们会更多的使用数组概念,而直接使用数组99%的情况下都只是做一个数组的for循环输出.

如果说现在要求你定义100个整型变量,那么按照之前的一个做法,可能现在定义的结构如下:

int i1,i2,i3....i100;

但是这个时候如果按照此类方式定义就会非常麻烦,因为这些变量彼此之间没有任何的关联,也就是说如果现在突然再有一个要求,要求你输出这100个变量的内容,意味着你需要编写System.out.println()语句100次。

所谓的数组指的就是一组相关类型的变量集合,并且这些变量可以按照统一的方式进行操作。数组本身属于我们的引用数据类型,那么既然是引用数据类型,这里面实际上又会牵扯到内存分配,而数组的定义有如下两类。

 1. 数组的动态初始化:

  • 声明并开辟数组:
数据类型 [] 数组名称 = new 数据类型 [长度];
数据类型 数组名称 [] = new 数据类型 [长度];
  • 分布进行数组空间开辟(实例化)
//声明数组:
数据类型 [] 数组名称 = null;  //或者下面
数据类型 数组名称 [] = null; 

//开辟数组空间
数组名称 = new 数据类型 [长度];

那么当数组开辟空间之后,就可以采用如下的方式进行操作:

  • 数组的访问通过索引完成,即:数组名称[索引];但是需要注意的是,数组的索引从0开始,所以可以使用的索引范围就是 0~数组长度-1,例如:现在开辟了3个空间的数组,所以可以使用的索引是:0,1,2;如果此时数组访问的时候超过了数组的索引范围,则会产生"ArrayIndexOutOfBoundsException"异常信息;
  • 当数组采用动态初始化开辟空间之后,数组里面的每一个元素都是该数组对应数据类型的默认值;
  • 数组本身是一个有序的集合操作,所以对于数组的内容操作往往采用循环的模式完成,数组是一个有限的数据集合,所以应该使用for循环.
  • 在java中提供有一种动态取得数组长度的方法:数组名称.length;

范例:定义一个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);
	}
}

这一原则和之前讲解的对象操作是完全相同的.

 

 

 

[展开全文]

声明数组:

数据类型  数组名称 []=null;

开辟数组空间 :数组名称=new 数据类型 [长度]

 

例如  String product[ ]=null;

 

product=new String[100];

 

String Product[]=new String[100];

 

 

数组长度:数组名称.length;

 

数组必须开辟空间(实例化)

[展开全文]

授课教师

阿里云开发者社区全面升级
一站式体验,助力云上开发!
进入新社区

相关课程

查看更多 >

本课程相关云产品