深圳幻海软件技术有限公司 欢迎您!

Java基础入门篇之数组初识

2023-02-28

一、数组1. 假设某公司有100个员工,需要统计某公司员工的工资情况,首先需要声明100个变量来分别记每个员工的工资,那么如果按照之前的做法,可能定义的结构如下所示:复制inta1,a2,a3,......a100;1.要求你输出这100个员工的工资,意味着你要写System.out.pr

一、数组

1. 假设某公司有100个员工,需要统计某公司员工的工资情况,首先需要声明100个变量来分别记每个员工的工资,那么如果按照之前的做法,可能定义的结构如下所示:

int a1,a2,a3,......a100;
  • 1.

要求你输出这100个员工的工资,意味着你要写System.out.println()语句100次。这样的话就显得很麻烦,所以我们需要用数组解决。

2. 数组指的是一组数据的集合,数组中每个数据叫做元素。在数组可以存放任意类型的数据,但是同一个数组存放的元素类型需要一致。

3. 数组的定义如下所示:

int[] a=new int[100];
  • 1.

上面这个数组的定义相当于在内存定义了100个int类型的变量,第1个变量的名称是a[0],第2个变量的名称是a[1],第3个变量名称是a[2],直到第100个变量的名称是a[99]。这些变量的初始值默认为0。

int[] a;//定义一个int[]类型的变量a
a=new int[100]//创建长度为100的数组
  • 1.
  • 2.

上面这个数组的定义一个int[]类型的变量a,变量a会占用一块内存单元格,它还没有分配初始的值。

如下图所示:

a=new int[]创建一个数组,把数组的地址赋值给变量x,内存状态就发生了变化。

如下所示:

4. 通过一个案例看看如何定义数组和访问数组的元素、长度:

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a;//声明一个int[]类型变量a
a=new int[3];//创建数组为3的长度
System.out.println("a[0]="+a[0]);//访问数组的第1个元素
System.out.println("a[1]="+a[1]);//访问数组的第2个元素
System.out.println("a[2]="+a[2]);//访问数组的第3个元素
System.out.println("数组的长度为:"+a.length);//数组的长度
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

输出的结果是:

a[0]=0
a[1]=0
a[2]=0
数组的长度为:3
  • 1.
  • 2.
  • 3.
  • 4.

我们分析一下上面的代码,首先是声明一个int[]类型变量a,然后创建数组长度为3,它是如何访问数组的元素的呢?通过a[0]访问数组的第1个元素,因为数组下标由0开始,最大下标是数组元素个数-1。a.length属性是访问数组的长度。

二、数组的静态初始化

1.什么是数组的静态初始化

定义数组时,为数组的每个元素赋值就叫做数组的静态初始化。

2.数组的静态初始化两种方式

类型[] 数组名 = new 类型[]{值1, 值2, ……};  
类型[] 数组名 = {值1, 值2, ……};
  • 1.
  • 2.

3.数组的静态初始化如何定义和访问数组的值

如下所示:

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={1,2,3};//静态初始化
System.out.println("a[0]="+a[0]);//访问数组的第1个元素
System.out.println("a[1]="+a[1]);//访问数组的第2个元素
System.out.println("a[2]="+a[2]);//访问数组的第3个元素
System.out.println("数组的长度为:"+a.length);//数组的长度
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

输出的结果为:

a[0]=1
a[1]=2
a[2]=3
数组的长度为:3
  • 1.
  • 2.
  • 3.
  • 4.

使用静态初始化数组给每个元素进行赋值,分别是1、2、3。

三、数组的动态初始化

1.什么是数组的动态初始化

定义数组由系统自动给元素赋初始值,我们就叫做数组的动态初始化。

2.动态初始化的方式

类型[] 数组名 = new 类型[长度];
  • 1.

3.动态初始化只需要指定数组的长度,系统自动赋初始值。分配初始值的规则:

boolean数据类型它的系统默认值为false;

byte数据类型它的系统默认值为0;

char数据类型它的系统默认值为’/u0000’;

short数据类型它的系统默认值为0;

int数据类型它的系统默认值为0;

long数据类型它的系统默认值为0L;

float数据类型它的系统默认值为0.0f;

double数据类型它的系统默认值为0.0;

4.动态初始化如何定义和访问数组的元素

例如:

public static void main(String[] args) {
  // TODO Auto-generated method stub
  int[] a=new int[4];//动态初始化
  System.out.println("a[0]="+a[0]);//访问数组的第1个元素
  System.out.println("a[1]="+a[1]);//访问数组的第2个元素
  System.out.println("a[2]="+a[2]);//访问数组的第3个元素
  System.out.println("a[3]="+a[3]);//访问数组的第3个元素
  System.out.println("数组的长度为:"+a.length);//数组的长度
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

输出的结果:

a[0]=0
a[1]=0
a[2]=0
a[3]=0
数组的长度为:4
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

四、总结

本文介绍了数组定义、数组的静态初始化、数组的动态初始化。详细介绍了数组的内容,数组的定义和访问数组的元素、长度通过图片和案例结合。静态初始化是定义数组,为每个元素赋值。动态初始化是由于系统会自动给它们赋值。静态初始化和动态初始化详细的讲解这两个用法,通过图片和案例结合来理解这用法。希望大家通过本文的学习,对你有所帮助!