初步了解数组

初步了解数组

​ 在最近的Java学习过程中,我开始了数组的学习。虽然在C语言中,我们也学习过数组,但是Java中的数组和C中的数组还是有一定的区别的。


  • 数组的定义和使用

​ 在Java中,数组有两种定义的方式,动态和静态。

示例
  • 动态方式

int[] a = new int[长度];

其中,int 是数组的数据类型,[ ] 表示数组,a 是数组名,new 是创建数组的关键字最后的*[长度]* 中年的数字表示的是数组的长度。

  • 静态方式

int[] a = new int[]{数组元素};

静态方式定义时,系统会根据元素的个数自动计算数组的长度,数组的长度一旦确定就无法更改,否则会编译报错。

使用数组前,必须先将数组初始化,即为数组的每个元素赋值。Java中数组的初始化也有两种方式,动态初始化和静态初始化。动态初始化指定的是数组的长度,静态初始化指定的是数组的元素,两者不可以同时使用,即不可以在指定数组长度的同时指定数组的元素。

在完成定义和初始化后,我们就可以通过数组的下标来访问数组中的元素。


  • 数组封装类Arrays

在Java中有提供方便数组操作的类Arrays,当我们需要使用时,需要引入java.util.Arrays,其中有许多数组操作的方法。

1. 数组元素的拷贝

当我们需要拷贝数组时,我们可以用System.arraycopy方法,示例如下:

System.arraycopy(arr1,b,arr2,d,length);

arr1 和 arr2 是数组,改代码表示从数组 arr1 的 b 位置开始向数组 arr2 的 d 位置拷贝 length 个元素。

示例
import java.util.Arrays;
public class ArrayTest
{
	public static void main(String[] args)
	{
		int[] arr1 = new int[]{1,2,3,4};	//静态定义
		int[] arr2 = new int[10];		//动态定义
		System.arraycopy(arr1,0,arr2,0,arr1.length);
		System.out.println(Arrays.toString(arr2));
	}
}
运行结果

2. 数组内容填充

Arrays.fill() 方法可以在数组中填充自己想要的内容。需要注意的是,此处的赋值是浅拷贝。

示例
import java.util.Arrays;
public class ArrayTest
{
	public static void main(String[] args)
	{
		String strings[] = new String[10];
		Arrays.fill(strings, "A");
		System.out.println(Arrays.toString(strings));
	}
}

Arrays.fill(strings, "A");是指将用A填充到strings数组中的每一个位置。

运行结果

3. 数组排序

我们可以使用Arrays.sort()方法可以自动为数组中的元素由小到大进行排序。

示例
import java.util.Arrays;
public class ArrayTest
{
	public static void main(String[] args)
	{
		int[] a = {2,5,6,8,7,1,3,4};
		Arrays.sort(a);
		System.out.println(Arrays.toString(a));
	}
}

运行结果

其他的方法,如Arrays.toString()可以直接将数组的元素及[ ]一起输出。我们可以通过API帮助文档中的java.uilt.Arrays包去了解更多的数组的方法的使用。

API在线文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值