友友们好,今天和大家一起来学习数组这一块的内容,给大家介绍一下数组的基本概念、数组的基本用法。
目录
1、数组的基本概念
1.1什么是数组
假设现在要输出5个人的年龄分别是多少,如果不使用数组的话,我们会给出以下代码:
public class Main {
public static void main(String[] args) {
int age1 = 10;
int age2 = 20;
int age3 = 30;
int age4 = 40;
int age5 = 50;
System.out.println(age1);
System.out.println(age2);
System.out.println(age3);
System.out.println(age4);
System.out.println(age5);
}
}
输出结果如下:
数组是相同类型元素的集合,在内存中是一段连续的空间,且每一个空间都有自己的编号也就是我们常说的数组下标。
例子给出的五个人的年龄,是相同的数据类型(都是 int 型),那我们也可以将他们存储在同一个数组中,通过访问数组下标来一个个打印元素。
1.2数组的创建和初始化
那么要使用数组,我们需要先学习数组是如何创建和初始化的。
1.2.1数组的创建
T[ ] 数组名 = new T[ N ];
T —— 表示数组中存放的元素的类型
T[ ] —— 表示数组的类型
N —— 表示数组的长度
例如:
int[] arr1 = new int[10]; //初始化一个可以存放10个 int 类型元素的数组
double[] arr2 = new double[10]; //初始化一个可以存放10个 double 类型元素的数组
那么例子中,我们有5个int 类型的数据,我们可以创建一个数组来存放他们-->int[5] age = new int[5];
1.2.2数组的初始化
创建好了数组之后,我们需要对他进行初始化。数组的初始化分为动态初始化和静态初始化。
1、动态初始化
像我们创建了一个 age 数组来存放 年龄所使用的初始化方式就是动态初始化。即在创建数组时直接制定数组元素的个数。
int[5] age = new int[5];
2、静态初始化
静态初始化在创建数组的时候不指定元素个数,而是直接对具体的数据内容进行指定。
比如:
int[5] age = {10,20,30,40,50};
int[5] age = new int[]{10,20,30,40,50};
注意:
1、数组静态初始化虽然没有指定长度,但编译器会根据{}中元素的个数来确定数组长度
2、静态初始化时,{}中数据类型必须与 [] 前的数据类型一致
3、静态初始化可以简写,可以去掉等号后面的new int[]
4、数组也可以按照C语言的形式来初始化,但是并不推荐
例如:int age[] = {10,20,30,40,50};
5、静态和动态初始化也可以分两步进行
//动态初始化:
int[] age;
age = new int[5];
//静态初始化
int[] age;
age = new int[]{10,20,30,40,50};
但是不能省略格式,不然会编译失败!
6、如果没有对数组进行初始化,则数组中元素有默认值
2、数组的使用
讲完基本概念,接下来让我们了解一下数组是如何被使用的。
1、数组如何访问元素
数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过下标访问其任意位置的元素。例如:
public class Main {
public static void main(String[] args) {
int[] age = {10,20,30,40,50};
//通过数组下标打印数组元素
System.out.println("修改前->");
System.out.println("age[0] = "+age[0]);
System.out.println("age[1] = "+age[1]);
//通过数组下标修改数组的值
System.out.println("修改后->");
age[0] = 100;
age[1] = 200;
System.out.println("age[0] = "+age[0]);
System.out.println("age[1] = "+age[1]);
}
}
我们可以通过数组下标来打印元素,也可以通过数组下标来修改数组中的值。
2、数组的遍历
“遍历”就是将数组中的元素都访问一遍,访问是指对数组中的元素进行某种操作,比如:赋值、打印等等……
比如,如果我们要打印一个数组的所有元素或者给所有元素赋值,如果不使用遍历的话,我们需要一条语句一条语句来实现它;但我们如果使用循环来遍历,效率就会提高很多:
以上两个代码实现的内容是一样的,但我们可以明显看出,右边的代码更简洁高效。
注意:在数组中可以通过 数组名.length 来获取数组长度
3、for - each 的使用
Java中还有一个 for - each 语句,也适用于遍历数组。for - each 是 for 循环的另外一种使用方式,能够更方便的完成对数组的遍历,可以避免循环条件和更新语句写错。
int[ ] age = {10,20,30};
for(int x : age) {
System.out.println(x);
}
3、学习内容运用
通过对以上内容的学习,现在我们可以完美的实现例子 “输出5个人的年龄分别是多少”。
1、for循环遍历
public class Main {
public static void main(String[] args) {
int[] age = {10,20,30,40,50};
for(int i = 0;i < age.length;i++) {
System.out.println(age[i]+" ");
}
}
}
2、for - each 遍历
public class Main {
public static void main(String[] args) {
int[] age = {10,20,30,40,50};
for(int X : age) {
System.out.println(X+" ");
}
}
}
更多数组的使用方法大家自行练习探索!希望这篇文章的内容能让你有所收获!
以上就是 JavaSE基础:数组的定义与使用 的全部内容了,希望能对你有所帮助!