真爱无限的知识驿站

学习积累技术经验,提升自身能力

JAVA学习-一维数组概念声明和使用、Arrays类用法

一维数组概念、声明和使用

数组概念:存储相同数据类型的一组数据

要点:数组中所有元素数据类型相同、数组中所有元素在内存中连续存储

特点:数组是引用类型、新生成的数组对象,引用类型默认值为null;基本类型默认值为各类型的默认值(数字为0,boolean值为false)

Arrays类用法:具体参数和用法查看JDK API文档

copyOf 复制数组

copyOfRange 复制数组范围

equals 判断数组是否相等

sort 数组排序

binarySearch 查找数组

fill 填充数组

System.arraycopy  复制数组


//ArrayTest.java

import java.util.Scanner;
import java.util.Arrays;
public class ArrayTest
{
	public static void main(String[]args)
	{
		arrayDefineTest();
		arrayFunctionTest();
	}
	
	private static void arrayDefineTest()
	{
		int[] scores={66,70,80};//直接赋值
		//int[] scores=new int[]{66,70,80};与上句代码效果一样
		System.out.println(scores.length);//打印数组长度
		
		int[] ids = new int[3];//数组声明和创建指定长度数组,默认值
		System.out.println("请依次输入三个数字到数组ids中:");
		Scanner input = new Scanner(System.in);
		for(int i=0;i<3;i++)
		{
			ids[i] = input.nextInt();
		}
		for(int i=0;i<3;i++)
		{
			System.out.print(ids[i]);
			System.out.print("	");
		}
		System.out.println();
	}
	
	private static void arrayFunctionTest()
	{
		int [] arrSrc1={1,3,5,6,7};
		int [] arrDst1 = Arrays.copyOf(arrSrc1,10);//复制数组
		printArray(arrDst1);
		System.out.println("***************************");
		
		int[] arrDst2=Arrays.copyOfRange(arrSrc1,2,5);//复制数组(范围)
		printArray(arrDst2);
		System.out.println("***************************");
		
		int [] arrSrc2={1,3,5,7,6};
		boolean isEqual =  Arrays.equals(arrSrc1,arrSrc2);//比较数组是否相等
		System.out.println("比较结果:"+isEqual);
		
		Arrays.sort(arrSrc2);//排序
		isEqual =  Arrays.equals(arrSrc1,arrSrc2);//比较数组是否相等
		System.out.println("排序后比较结果:"+isEqual);
		System.out.println("***************************");
		int index = Arrays.binarySearch(arrSrc2,5);//二分查找,返回下标(找不到时返回负数),排序后使用
		System.out.println("index = "+index);
		
		System.out.println("***************************");
		int[] arrDst3=new int[10];
		Arrays.fill(arrDst3,10);//填充值(全部元素)
		Arrays.fill(arrDst3,2,5,8);//填充值(范围)
		printArray(arrDst3);
		System.out.println("***************************");
		
		//使用system类方法复制数组
		int [] arrDst4 = new int[10];
		System.arraycopy(arrSrc1,0,arrDst4,2,5);
		printArray(arrDst4);
		System.out.println("***************************");
	}
	
	private static void printArray(int [] array)
	{
		for(int i=0;i<array.length;i++)
		{
			System.out.print(array[i]+" ");
		}
		System.out.println();
	}
}


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright 2024-2027 pukuimin Rights Reserved.
粤ICP备17100155号