JAVA学习笔记_数组的定义与使用

165 阅读3分钟

数组的定义与使用

1.数组的基本概念

1.1什么是数组

数组是一组相同类型元素的集合,在内存中连续存放。

1.2数组的创建及其初始化

1.2.1数组的创建

T[] 数组名 = new T[N];

T:表示数组中存放元素的类型

T[]:表示数组的类型

N:表示数组的长度

1.2.2数组的初始化

数组的初始化分为动态初始化和静态初始化

  • 动态初始化:

    创建数组时直接指定数组的元素个数

    int[] arr = new int[10];
    
  • 静态初始化:

    创建数组时不指定数组元素个数,将数组具体数据内容进行直接指定

    int[] arr1 = new int[]{1,2,3,4,5,6};
    int[] arr2 = {1,2,3,4,5,6};
    
    //省略格式不可以拆分  下面编译失败
    int[] arr3 ;
    arr3 = {1,2,3};
    
    • 静态初始化虽然没有指定数组长度,但编译器会根据{}中元素个数确定数组长度
    • 静态初始化可以简写,省略后面的new int[],但是编译器编译代码时会进行还原
    • 如果没有对数组进行初始化,数组元素为默认值,默认值为基类类型对应的默认值

1.3数组的使用

1.3.1数组元素访问

数组在内存中是一段连续的空间,空间的编号都是从0开始的,依次递增,该编号称为数组的下标,数组可以通过下标访问其任意位置的元素

1.3.2遍历数组

所谓遍历是指将数组中的所有元素都访问一遍, 访问是指对数组中的元素进行某种操作,比如:打印

int[] arr = new int[]{1,2,3,4,5,6};

for(int i = 0; i < arr.length; i++) {
	System.out.println(array[i]);
}

//foreach
for(int x : arr) {
    System.out.println(x);
}

2.数组是引用类型

2.1基本类型变量与引用类型变量的区别

基本数据类型创建的变量,称为基本变量,该变量空间中直接存放的是其所对应的值

引用数据类型创建的变量,一般称为对象的引用,其空间中存储的是对象所在空间的地址,null 在 Java 中表示 "空引用" , 也就是一个不指向对象的引用

3.数组的应用

3.1保存数据

public static void main(String[] args) { 
    int[] array = {1, 2, 3}; 
    for(int i = 0; i < array.length; ++i){ 
        System.out.println(array[i] + " "); 
    } 
}

3.2作为函数参数

3.2.1参数传基本类型

3.2.2参数传数组类型

public static void main(String[] args) { 
    int[] arr = {1, 2, 3}; 
    func(arr); 
    System.out.println("arr[0] = " + arr[0]); 
}

public static void func(int[] a) { 
    a[0] = 10; 
    System.out.println("a[0] = " + a[0]); 
}

3.3作为函数返回值

//获取斐波那契数列的前N项
public class TestArray {
	public static int[] fib(int n){ 
        if(n <= 0){ 
            return null; 
        }
        int[] array = new int[n]; 
        array[0] = array[1] = 1; 
        for(int i = 2; i < n; ++i){ 
            array[i] = array[i-1] + array[i-2]; 
        }
        return array; 
    }
    
	public static void main(String[] args) { 
    	int[] array = fib(10); 
    	for (int i = 0; i < array.length; i++) { 
        System.out.println(array[i]); 
    	} 
	} 
}

4.二维数组

二维数组本质上也就是一维数组, 只不过每个元素又是一个一维数组

基本语法:

数据类型[][] 数组名称 = new 数据类型 [行数][列数] { 初始化数据 };

二维数组的用法和一维数组并没有明显差别, 因此不再赘述,使用频率较低