1.1 一维数组的创建
什么数组:
数组是用来存储一组相同类型数据的数据结构。
数组变量属于引用数据类型。
数组是有固定长度的。n
数组中的元素可以是任何数据类型(基本类型和引用类型)。
数组有一个对应的索引,可以通过索引访问数组中的每个元素。(0 –-- n-1)
数组被创建好之后,它的大小(数组长度)是不能改变的,但是数组中的各个元素是可以被改变的。
1.1.1 数组的声明
public class Test1 {
public static void main(String[] args) {
//数据类型[] 数组变量名;(java推荐用法)
int[] scores;
//数据类型 数组变量名[ ];
int ages[];
}
}
1.1.2 数组的创建
Java中使用关键字new 创建数组对象,指定数组的大小,给数组元素的存储分配空间
格式:数组变量名 = new 数组元素的类型 [数组元素的个数];
public class Test1 {
public static void main(String[] args) {
int[] scores;
//数组变量名 = new 数组元素的类型 [数组元素的个数];
scores = new int[5];
}
}
1.2 数组的赋值
1.2.1 默认值
数组创建之后,如果没有对数组进行初始化,则系统使用默认值对数据进行默认初始化。
数字类型的默认值是0;
Boolean值的默认值是false;
引用数据类型的默认值是null;
1.2.1 静态赋值
所谓的静态初始化是指,在创建数组对象的同时对数组进行初始化。
静态初始化有两种方式:
1、 int[] a = new int[]{1, 2, 3}; //定义并创建数组,并初始化数组的元素为 1、3、3
//同时数组的长度也被限定为为3。
2、 int[] a = {1, 2, 3}; //效果同上
以上两种方式均不需要定义数组的长度,数组的长度由初始化时元素的个数来决定
public class Test1 {
public static void main(String[] args) {
int[] scores = new int[] { 99 , 65 , 78 , 89 , 100};
//效果同上
//int[] scores = { 99 , 65 , 78 , 89 , 100};
}
}
6.2.2 动态赋值
所谓动态初始化是指把数组的创建和数组的初始化分开完成。
例如:
int[] a = new int[3];
a[0] = 3; //通过元素索引(下标)来给数组元素赋值
a[1]=4;
a[2]=5;
public class Test1 {
public static void main(String[] args) {
int[] scores;
scores = new int[5];
scores[0] = 88;//通过元素索引(下标从0开始)来给数组元素赋值
scores[4] = 99;
}
}
6.3 数组的访问
6.3.1 通过下标访问指定元素
任何类型的数组,为了便于访问,系统为数组中的每个元素分配了一个下标(索引),可以通过下标来访问到该数组中的每个元素。
假设一个长度为n的数组,则数组的元素下标范围为从 0 — n-1。即:第一个元素的下标为0, 第二个元素的下标为1, … ,第n个元素的下标为n – 1。所以访问数组时,时刻注意数组的最后一个元素的下标总是比数组的长度小1,否则会出现下标越界。
例如:
int[] a = {20, 30, 2, 50, 5, 66}; //定义一个int类型的数组,并初始化
System.out.println(a[0]); //获得第1个元素值,并输出该值
System.out.println(a[3]); //获得第 4个元素的值, 并输出改制
6.3.2 循环访问
利用循环可以遍历数组中的每个元素。
public class Test1 {
public static void main(String[] args) {
int[] scores= {3,4,5,6,7,12,43};
int len = scores.length;//获得数组的长度
for (int i = 0; i < scores.length; i++) {
System.out.println(scores[i]);
}
}
}
6.3.3 增强for循环
该循环方式是java Jdk1.5新加的特性。该种方式的最大特点是只能遍历访问数组中的元素的值,而不能修改数组中元素的值。
使用语法:
for(数组中元素类型 变量名 : 数组名){
//写访问元素的代码。其中的“变量名”就代表了数组中的每个元素。
//这种循环方式总是从数组的中的第一个元素开始遍历,直至最后一个元素。
}
public class Test1 {
public static void main(String[] args) {
int[] scores= {3,4,5,6,7,12,43};
for (int i : scores) {
System.out.println(i);
}
}
}