JavaSE_05_Java数组

本文介绍了Java中的数组概念,包括一维数组的静态和动态初始化,以及默认初始化值。详细讲解了如何通过下标遍历和for-each遍历法来操作数组。同时,文章还涵盖了二维数组的创建和遍历方法,并提到了Arrays工具类在数组操作中的作用,如排序、比较和转换。

《Java数组》

目录

  • 数组概念(了解)
  • 一维数组(熟练)
  • 二维数组(掌握)
  • 数组工具类(了解)

一、数组概念

数组(Array)是有序的元素序列,是用于储存多个相同类型数据的集合。组成数组的各个变量称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。

请添加图片描述

二、一维数组

静态初始化(在定义数组的同时对数组元素进行初始化)

int[] array1 = {1, 2, 3, 4, 5};      //定义了一个含有5个元素的int型数组

动态初始化(使用运算符new为数组分配空间)

//方式一
int[] array2 = new int[5];
//方式二
int[] array3 = new int[]{1, 2, 3};

默认初始化值(整型、小数型、布尔型、字符型、类类型)

int[] a = new int[5];
double[] b = new double[5];
boolean[] c = new boolean[5];
char[] d = new char[5];
String[] e = new String[5];
System.out.println("整型:" + a[0]);        //0
System.out.println("小数型:" + b[0]);      //0.0
System.out.println("布尔型:" + c[0]);      //false
System.out.println("字符型:" + d[0]);      //\u0000,即一个空格
System.out.println("类类型 :" + e[0]);     //null

内存解析

请添加图片描述

代码示例:

int[] a1 = new int[2];
int[] a2 = new int[2];
System.out.println(a1 == a2);		//false

数组长度(length属性)

int[] array = {5, 4, 3, 2, 1};
System.out.println(array.length);

数组遍历

  • 下标遍历法
for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);
}
  • for-each遍历法
for (int x : array) {
    System.out.println(x);
}

三、二维数组

点动成线,线动成面,多个元素组成一维数组,多个一维数组组成二维数组,即二维数组为一维数组的数组

请添加图片描述

静态初始化

int[][] arr1 = {
        {1, 2, 3},
        {1, 2, 3, 4},
        {1, 2, 3, 4, 5},
        {1, 2, 3, 4, 5}
};

动态初始化

//方式一
int[] arr2[] = new int[3][4];
//方式二
int arr3[][] = new int[][]{
        {1, 2, 3},
        {1, 2, 3, 4},
        {1, 2, 3, 4, 5}
};

二维数组遍历

  • 下标遍历法
for (int i = 0; i < arr3.length; i++) {
    for (int j = 0; j < arr3[i].length; j++) {
        System.out.print(arr3[i][j] + "\t");
    }
    System.out.println();
}
  • for-each遍历法
for (int[] x : arr3) {
    for (int y : x) {
        System.out.print(y + "\t");
    }
    System.out.println();
}

四、数组工具类

  • Arrays工具类
String toString(int[] a)							//数组转字符串

void sort(int[] a)									//从小到大排序

boolean equals(int[] a, int[] a2)             		//数组(内容)比较

int[] copyOf(int[] original, int newLength)			//复制数组[0,newLength)

int[] copyOfRange(int[] original, int from, int to)	//复制数组[from,to)

List<T> asList(T... a)								//数组转List集合

总结

重点

  1. 一维数组的创建及使用;
  2. 二维数组的创建及使用;
  3. 数组遍历;

难点

  1. 内存地址比较 ==,内容比较equals方法;
  2. 数组创建及使用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值