1.数组的基本概念
1.1为什么需要数组
不接触数组之前,我们存储数据一般都是一个一个去存储,一个一个的去输出,比如像存储学生的考试成绩,我们会这么去写代码:
public class TestStudent{
public static void main(String[] args){
int score1 = 70;
int score2 = 80;
int score3 = 85;
int score4 = 60;
int score5 = 90;
System.out.println(score1);
System.out.println(score2);
System.out.println(score3);
System.out.println(score4);
System.out.println(score5);
}
}
如果需求是10个,20个我也许还可以写写,但是如果是需要存储100、1000个甚至更多的情况之下,那我们就存储下来的效率值会大大下降,通过观察这些数据的基本类型是一样的,来存储这么多相同的数据类型,我们可以用数组来解决这样的问题。
1.2什么是数组
数组:可以看成是相同类型元素的一个集合。在内存中是一段连续的空间。
数组在内存存放数据像上面的图一样,存储数据在内存中时连续的。从图中可以看到:
- 数组中存放的元素其类型相同
- 数组的空间是连在一起的
- 每个空间有自己的编号,其实位置的编号为0,即数组的下标
那么在程序中怎么去创建这个数组呢?
1.3数组的创建及初始化
基本格式:
数据类型 [] 数组名 = new 数据类型 [] {
存储的内容};
我们以整型和double类型举例:
int [] array = new int [] {
1,2,3,4,5};//整型数组
double [] dd = new double [] {
2.0,4.5,3.7};//double类型数组
数组的创建c语言也JavaSE不一样,在javaSE中数组的创建可以写成三种形式:
我们都以整型数组来举例:
int [] array ={
1,2,3,4,5};//精简形式
int [] array = new int [] {
1,2,3,4,5};//基本形式
int [] array = new int [5];//给定数组大小的形式
这三种形式中,在创建数组的时候你都可以使用。我个人推荐使用第一种,因为比较方便,还有在使用这三种形式的时候只有第三种的[]可指定大小,其他都不可以。
最后在创建数组的写法还有一种:参考c语言的写法:
int array [] = {
1,2,3,4,5};//在java中我们不推荐这么去创建数组。
因为本来c语言这么写是存在问题的,我们举一个例子:
像基本类型创建:
int a = 10;
double b= 3.14;
char c = 'z';
这些基本类型在创建的时候都是以 数据类型 变量名 = 存储的内容; 这样的基本格式来写的。
在数组中(我们以整型数组举例):int [] 这个就是基本类型 array这个就是数组名 。按照规则来说,像java这样来写是符合规则的,c语言那样写是不符合规则的。
如果没对数组初始化,数组元素有默认值
如果存储的是基本类型ÿ