欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础-数组的学习

程序员文章站 2022-07-14 21:06:13
...

Java数组

1、数组的概述

数组是相同类型数据的有序集合。

数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成。

其中每一个数据称作一个数组元素,每个数组元素都可以通过一个下标来访问他们。

使用数组可以让我们的程序变的简单,避免定义多个重复的变量。

2、数组的声明创建

首先必须声明数组变量,才能在程序中使用该数组,下面是声明数组变量的语法:

String[] args; // 首选的声明方式,推荐
String args[]; // 不推荐

Java语言使用new关键字来创建数组,语法如下:

dataType[] array = new dataType[size];
int[] nums = new int[10]; // 定义了一个长度为 10 的整型数组

// 给数组中的元素赋值
nums[0] = 1;
nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
nums[4] = 5;
nums[5] = 6;
nums[6] = 7;
nums[7] = 8;
nums[8] = 9;
nums[9] = 10;

// 通过数组的下标来取值
System.out.println(nums[1]) // 输出:2

数组的元素是通过索引来访问的,数组索引是从0开始的。

获取数组的长度:array.length

数组动态初始化:

int data[] = new int[3]; /*开辟了一个长度为3的数组*/
data[0] = 10; // 第一个元素
data[1] = 20; // 第二个元素
data[2] = 30; // 第三个元素
for(int x = 0; x < data.length; x++) {
    System.out.println(data[x]); //通过循环控制索引
}

数组静态初始化:

我们上面定义的数组都有一个特点:先给数组开辟内存空间,然后再用索引进行数据的赋值,这种做法就叫做:动态初始化。

如果数组在定义的时候就可以同时出现设置的数据内容,那么就可以采用静态初始化来完成。

格式: 数据类型 数组名称 = new 数据类型[] {值, 值,…}

如:

public class ArrayDemo {
	public static void main(String args[]) {
		int data[] = {1, 3, 4, 55, 11, 32, 121, 33}; // 静态初始化int型数组
		for(int i = 0; i < data.length; i++) {
			System.out.println(data[i]);
		}
	}
}

3、数组的使用

数组属于引用数据类型,所以会发生引用传递。而引用传递的本质是:同一块堆内存空间可以被不同的栈内存所指向。

public class ArrayDemo02 {
	public static void main(String args[]) {
		int data[] = null;
		data = new int[3]; //开辟一个长度为3的数组
		int temp[] = null; //声明int型数组对象:temp
		data[0] = 10;
		data[1] = 20;
		data[2] = 30;
		temp = data;  //int temp[] = data;
		temp[0] = 99;
		for(int i = 0; i < temp.length; i++) {
			System.out.println(data[i]);
		}
	}
}

Java基础-数组的学习

4、二维数组

在之前所使用的数组发现只需要一个索引就可以进行访问,那么这样的数组实际上非常像一个数据行的概念 。

现在痛过一个索引就可以取得唯一的一个记录。所以这样的数组可以简单理解为一维数组,而二维数组本质上指的是行列集合,也如果要确定某一个数据需要行索引和列索引来进行定位 。

那么对二维数组的定义有两种声明形式:

  1. 数组的动态初始化:数据类型 对象数组[][] = new 数据类型 [行个数] [列个数];
  2. 数组的静态初始化:数据类型 对象数组[][] = new 数据类型 [行个数] [列个数]{{值, 值,…}, {值, 值,…},…};
int[][] arr2 = new int[][]{{10,20,30},{40,50,60},{70,80,90}};