java数组知识点

数组**

概念:具有相同类型数据的线性集合。

数组间可整体赋值,即将一个数组直接赋值给另一个数组

例 int a[];

int b[]=a;

一维数组

1.创建一维数组

​ 1.1 声明一维数组的两种方式

​ (1) 数组元素类型 数组名字[]

​ (2)数组元素类型 [] 数组名字

例 int arr[] ;

​ double[] dou;

1.2 为数组分配内存空间语法格式

​ 数组名字 =new 数组元素类型[数组元素的个数];

​ 例 arr=new int[5]; //数组长度为5

​ 1.3 将数组的声明和内存分配合在一起执行

​ 语法:数组元素类型名 数组名=new 数组元素类型[数组元素的个数]

​ 例: int month[]=new int[12];

2.初始化一维数组

有3种方式

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

3.获取数组的长度

可以使用数组对象自带的length属性,语法如下:

arr.length //arr:数组名 length:数组长度属性,返回int值

二维数组中 arr.length返回的是数组的行数,arr[k].length返回的是第k行的列数量

java支持不规则数组,二维数组可为不规则数组

4.使用一维数组

​ 循环输出

二维数组

1.创建二维数组

两种声明方式(可以只声明”行“的长度而不声明”列“的长度)

组元素类型   数组名字[][];
数组元素类型[][]     数组名字;
例   int  a[][];

     int [][]    a;

2.为二维数组分配内存

int   a[][];

a=new  int[2][4];		//直接分配行和列

int  b[][];

b=new int [2][];     //先分配行,不分配列
b[0]=new int[2];		//给第一行分配列
b[1]=new int[2];		//给第二行分配列

3.初始化二维数组

3种方式

int a[][]={{1,2,3},{4,5,6}};
int a[][]=new int[][] {{1,2,3},{4,5,6}};
int a[][]=new int[2][3];
a[0]=new int[] {6,7,8};		//给第行分配一个一维数组
a[1][0]=1;			//给第二行第一列赋值为1
a[1][1]=2;
a[1][2]=3;

数组的基本操作

1.遍历数组

循环实现

2.填充和批量替换数组元素

​ 2.1 fill(int[] a,int value )

​ 可将指定的int值分配给int型数组的整个元素

​ 语法:(该方法输出的数组元素值均为value值)

Arrays.fill(int [] a,int value);
//a:要进行元素分配的数组      
//value:要存储数组中所有元素的值
例:Arrays.fill(arr,8);  //使用同一个值对数组填充

​ 2.2 fill(int [] a,int formIndex,int toIndex,int value)

​ 将指定的int值分配给int型数组指定范围中的每个元素,填充范围从索引formIndex(包括)一直到索引toIndex(不包括),如果formIndex==toIndex,则填充范围为空

语法:

Arrays.fill(int [] a,int formIndex,int toIndex,int value);
//a:要分配的数组
//foemIndex:要使用指定值填充的第一个元素的索引(包含在内)
//toIndex: 要使用指定值填充的最后一个元素的索引(不包括)
//value:要存储在数组所有元素中的值
例:Arrays.fill(arr,1,4,5);  //数组中第一个到第四个数组中的值填充成5

如果指定的索引位置大于或等于要进行分配的数组的长度,(此时数组越界异常)报错。

3.复制数组

​ 3.1 copyOf()方法

语法:

Arrays.copyOf(arr,int newlength);
//arr:要进行复制的数组
//newlength:int 型常量,指复制后的新数组的长度,如果新数组长度大于数组arr的长度,则用0填充(根据复制数组    类型来决定填充的值,整型数组用0填充,char型数组用null填充)如果复制后数组长度小于数组arr的长度,则会从    数组arr第一个元素开始截取至满足新数组长度为止
例:int  newarr=Arrays.copyOf(arr,5);  //复制数组arr

​ 3.2 copyOfRange()方法

​ 语法:

Arrays.copyOfRange(int [] a,int formIndex,int toIndex);
//arr:要进行复制的数组
//formIndex:指定开始复制数组的索引位置,formIndex必须在0至整个整个数组长度之间(包括formIndex这个索     引)
//toIndex: 要复制范围的最后索引,可大于数组长度(不包括toIndex这个索引)
例:int newarr=Arrays.copyOfRange(arr,0,3);  //复制数组arr

4.数组的排序

​ 4.1冒泡排序

​ 4.2选择排序

​ 4.3 Arrays.Sort()方法

是升序排序,可直接使用,语法:

Arrays.sort(object)     //object被是排序的数组
例:Arrays.sort(arr);        //将数组进行排序
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值