JAVA基础-数组

数组也是一种数据类型

数组是一个固定长度的,包含了相同类型数据的容器

声明数组:
在声明数组变量时,需要指出数据类型数组变量的名字。
下面声明了int数组arr:

int[] arr;  //int a[];也是可以的

创建数组:
在创建数组的时候,要指明数组的长度
a=new int[5]

访问数组:
创建数组时候 int[]中的数组代表长度,
而访问数组时,[] 中的数组代表数组的角标(index)(基0)
.length方法用于访问一个数组的角标的范围
数组访问角标范围是0到长度-1,超过这个范围,就会编译错误

引用的概念:
和基本数据类型不同
int c = 50; 是将c赋值50
而int []a=int[1];只是创建了一个数组,并让a指向数组

初始化数组:
分配空间与赋值分步进行:

int[] a = new int[2];
 //分配了长度是2的数组,但是没有赋值                 
 //没有赋值,那么就会使用默认值  int类型默认值是0        
a[0] = 100;       //进行赋值
a[1] = 101;

分配空间与赋值同时进行

int[] a = new int[]{100,102,444,836,3236};

二维数组
这是一个一维数组:

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

里面的每一个元素都是int类型的。

这是一个二维数组:

int[][] b = new int[]{
 		{1,2,3},
   		{4,5,6},
  		{7,8,9}
  		};

里面的元素都是数组,所以说二维数组可以看作存放数组的数组。

不规则数组
又叫锯齿数组是每行长度不一定的二维数组,下面给出一种初始化方法

int[][] ragged_arrays = new int[5][];//只定义了5个数组,每个数组的长度未给出
for(int i=0;i<ragged_arrays.length;i++){
	ragged_arrays[i] = new int [i+1];//每个数组长度一次递增
}

Arrays类
Arrays是一个关于数组的工具类,具体详情可以在java说明书中查询,这里介绍集中常用方法,方便进行 排序,查找,复制填充等功能。

copyOfRange(int[] original, int from, int to)
用于进行数组复制

 int a[] = new int[] { 18, 62, 68, 82, 65, 9 };       
 int[] b = Arrays.copyOfRange(a, 0, 3);
 //复制了 {18, 62, 68}

toString(int[] original);
把数组转化为字符串,方便观察数组内容

int a[] = new int[] { 18, 62, 68, 82, 65, 9 };        
String content = Arrays.toString(a);        
System.out.println(content);
//输出显示:{ 18, 62, 68, 82, 65, 9 }

sort(int[] original);
对数组进行排序(从小到大)

int a[] = new int[] { 18, 62, 68, 82, 65, 9 };                        
Arrays.sort(a);
//a={ 9,18, 62, 65, 68, 82 }

binarySearch(int[] original , int );
对某元素的位置进行查询,使用binarySearch必须先对数组进行排序
有多个相同的元素,查找结果是不确定的

int a[] = new int[] { 18, 62, 68, 82, 65, 9 };         
Arrays.sort(a);    //使用binarySearch之前,必须先使用sort进行排序        
System.out.println(Arrays.binarySearch(a, 62));

equals(int[] a , int[] b);
比较两个数组是否相同,输出布尔值

int a[] = new int[] { 18, 62, 68, 82, 65, 9 };        
int b[] = new int[] { 18, 62, 68, 82, 65, 8 };         
System.out.println(Arrays.equals(a, b));

fill(int[] original , int)
用某元素填充数组

int[] a = new int [3]
Arrays.fill(a, 5);          
System.out.println(Arrays.toString(a));
//{ 5, 5, 5 };
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值