今天来介绍一下一维数组的基本使用情况
先用思维导图做了一个知识整理,如下图
包括了数组的定义
创建数组
访问数组
数组的长度
初始化数组
基本数组排序等
数组的定义
//数组是一个固定长度的,包含了相同类型数据的容器
final int length=10;
//相同类型 基本数据类型 类类型
byte[] a;
short[] a1;
int[] a2;
long[] a3;
float[] a4;
double[] a5;
boolean[] a6;
char[] a7;
Cat[] a8;
int[] arrays=new int[length];
声明数组
int[] a;
创建数组
public class HelloWorld {
public static void main(String[] args) {
//声明一个引用
int[] a;
//创建一个长度是5的数组,并且使用引用a指向该数组
a = new int[5];
int[] b = new int[5]; //声明的同时,指向一个数组
}
}
访问数组
public class HelloWorld {
public static void main(String[] args) {
int[] a;
a = new int[5];
a[0]= 1; //下标0,代表数组里的第一个数
a[1]= 2;
a[2]= 3;
a[3]= 4;
a[4]= 5;
int[] b=a;
b[0]=8;
System.out.println(a[0]);//1 8
Cat[] cats=new Cat[2];
System.out.println(cats[0]);//空 null
}
}
数组的长度
public class HelloWorld {
public static void main(String[] args) {
int[] a;
a = new int[5];
System.out.println(a.length); //打印数组的长度
a[4]=100; //下标4,实质上是“第5个”,即最后一个
a[5]=101; //下标5,实质上是“第6个”,超出范围 ,产生数组下标越界异常
}
}
数组分配空间与赋值分步进行
public class HelloWorld {
public static void main(String[] args) {
int[] a = new int[5]; //分配了长度是5的数组,但是没有赋值
//没有赋值,那么就会使用默认值
//作为int类型的数组,默认值是0
System.out.println(a[0]);
//进行赋值
a[0] = 100;
a[1] = 101;
a[2] = 103;
a[3] = 120;
a[4] = 140;
}
}
分配空间,同时赋值
public class HelloWorld {
public static void main(String[] args) {
//写法一: 分配空间同时赋值
int[] a = new int[]{100,102,444,836,3236};
//写法二: 省略了new int[],效果一样
int[] b = {100,102,444,836,3236};
//写法三:同时分配空间,和指定内容
//在这个例子里,长度是3,内容是5个,产生矛盾了
//所以如果指定了数组的内容,就不能同时设置数组的长度
int[] c = new int[3]{100,102,444,836,3236};
}
}
以上是以为数组的基础知识,下期讲数组的排序