数组是具有相同数据类型的一组数据的集合。

一、一维数组的创建及使用

1.1创建一维数组

法一:先声明,再用new运算符进行内存分配

1.1.1声明一维数组方式:

1.数组元素类型[] 数组名字;

2.数组元素类型 数组名字[];

1.1.2用new运算符分配内存

数组名字 = new 数组元素类型[数组元素的个数];(数组下标从0开始,整型数组的初始值为0)

int[] arr;//声明数组

arr=new int[6];//用new来进行内存分配

法二:声明的同时为数组分配内存

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

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

int[] month=new int[10];//声明并为其分配内存

1.2初始化一维数组

int[] arr1=new int[] {1,3,4,3};//方法一

int[] arr2= {1,3,4,3};//方法二

二、二维数组的创建及使用

二维数组常用于表示表,表中的信息以行和列的形式组织,第一个下标代表元素所在的行,第二个下标表示元素所在的列。

2.1创建二维数组

法一:先声明,再用new运算符进行内存分配

2.1.1声明二维数组方式:

1.数组元素类型[][] 数组名字;

2.数组元素类型 数组名字[][];

2.1.2用new运算符分配内存

1.直接为每一维分配内存空间

2.分别为每一维分配内存空间

int[][] a;// 声明二维数组

a = new int[2][3];//表示一个两行三列的数组

int[][] b;//声明二维数组

b = new int[2][];//表示该数组有两行

a[0]=new int[2];//表示该数组第一行有两列

a[1]=new int[3];//表示该数组第二行有三列

法二:声明的同时为数组分配内存

int[][] arr=new int[2][3];//声明的同时为数组分配内存

2.2初始化二维数组

int a1[][] = { { 12, 13 }, { 11, 3 } };//方法一

a1[1][1] = 20;// 方法二:给a1[1]的第二个元素赋值

三、数组的基本操作

3.1遍历数组

遍历数组通常是用for循环来遍历的。

3.1.1一维数组的遍历(for循环单层遍历)

int a[] = new int[] { 22, 32, 332, 11 };

for (int i = 0; i < a.length; i++) {

System.out.print(a[i] + " ");// 22 32 332 11

}

3.1.2二维数组的遍历(for循环双层遍历)

int a1[][] = { { 22, 33, 1 }, { 1, 2, 11 }, { 33, 221, 22 } };

for (int i = 0; i < a1.length; i++) {

for (int y = 0; y < a1[i].length; y++) {

System.out.print(a1[i][y] + " ");

}

System.out.println();

}

// 22 33 1

// 1 2 11

// 33 221 22

3.2 填充替换数组元素

数组中的元素定义完成后,可通过Arrays类的静态方法fill()来对数组中的元素进行替换。以int型数组为例介绍fill()方法的使用方法。

fill(int[] a,int value)

a:要进行元素替换的数组。

value:要存储数组中所有元素的值。(全部替换)

int a[] = { 22, 44, 44, 22, 11 };

Arrays.fill(a, 3);// 3 3 3 3 3

fll(int[] a,int fromIndex,int toIndex,int value)

a:要进行填充的数组

fromIndex:要使用指定值填充的第一个元素的索引(包括)

toIndex:要使用指定值填充的最后一个元素的索引(不包括)

value:要存储数组中所有元素的值。(部分替换)

int b[] = { 22, 33, 11, 31, 31, 1, 4, 1 };

Arrays.fill(b, 2, 5, 5);//22 33 5 5 5 1 4 1

3.3对数组进行排序

通过Arrays类的静态sort()方法可以实现对数组的排序(升序)。

语法:Arrays.sort(Object)

int a[]= {2,4,24,4,1};

Arrays.sort(a); //1 2 4 4 24

3.4复制数组

Arrays类的copyOf()方法与copyOfRange()方法可以实现对数组的复制。

(1)copyOf()方法

语法:copyOf(arr,int newlength)

arr:要进行复制的数组

newlength:复制后新数组的长度。新数组长度小于等于原数组长度时,从原数组下标为0开始复制。若新数组长度大于原数组长度时,超过部分用0或null来填充。

int a[] = { 22, 11, 444, 11, 33, 22, 11, 44 };

int arr[] = Arrays.copyOf(a, 4);//22 11 444 11

(2)copyOfRange()方法

语法:copyOfRange(arr,int fromIndex,int to index)

int a[] = { 22, 11, 444, 11, 33, 22, 11, 44 };

int arr1[] = Arrays.copyOfRange(a, 2, 4);//444 11

3.5数组查询

Arrays类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获取指定对象。

语法:binarySearch(Object[] a,Object key)

a:要搜索的数组

key:要搜索的值。Key包含在数组中,则返回搜索值的索引值;否则返回-1或者“-”(插入点)插入点是第一个大于搜索键的元素索引。

int[] a = {2,4,11,53};

int index = Arrays.binarySearch(a, 4);//1

int index1 = Arrays.binarySearch(a, 10);//-3

语法:binarySearch(Object[] a,int fromIndex,int toIndex,Object key)

补充:Key包含在数组中,则返回-1或者“-”(插入点)插入点是第一个大于搜索键的元素索引。如果范围中所有元素都小于指定的键,则返回toIndex。

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

int index = Arrays.binarySearch(a,3,9, 4);//-4

int index1 = Arrays.binarySearch(a,0,9, 809);//-10

总结

1.数组遍历------------>for循环

2.填充替换数组元素----------->Arrays.fill(int[] a,int value)和Arrays.fll(int[] a,int fromIndex,int toIndex,int value)

3.对数组进行排序------------>Arrays.sort(Object)

4.复制数组----------->Arrays.copyOf(arr,int newlength)和Arrays.copyOfRange(arr,int fromIndex,int to index)

5.数组查询---------------->Arrays.binarySearch(Object[] a,Object key)和Arrays.binarySearch(Object[] a,int fromIndex,int toIndex,Object key)

java数组表示方法_Java中数组总结相关推荐

  1. java 数组 length 减少_java中数组有没有length()方法?string没有lenght()方法?

    java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int length=arr.length;//求数组的长度 ------------------------- ...

  2. java 数组定义方法_java中定义数组的方法有哪些

    java中定义数组的方法有哪些 发布时间:2020-06-25 18:10:36 来源:亿速云 阅读:130 作者:Leah 这篇文章运用简单易懂的例子给大家介绍java中定义数组的方法,代码非常详细 ...

  3. java 数组 初始化 个数_Java中数组的初始化

    一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...

  4. 对象数组的初始化_JAVA中数组是什么?

    Java中数组是相同类型数据的有序集合.数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个元素,每个元素可以通过一个索引(下标)来访问它们.数组的三个基本特点: ...

  5. java数组的调用_java中数组的应用及方法

    1.数组反转 import java.util.Arrays; public class ArrayReverse { public static void main(String[] args){ ...

  6. java求数组的平均值_Java中数组求平均值,最大值,最小值。

    //从控制台任意输入六个数字,然后输出六个数字的平均值,最大值以及最小值. import java.util.Scanner; public class Text2 { public static v ...

  7. java 数组批量赋值_JAVA中数组赋值问题

    好久没有编程了,今天突然想写点程序,谁知道这个数组的赋值问题给难住了,忘了以前老师说过的,测试程序调用处理类时候,在主程序运行的空间之外又开辟了一块空间,等处理类处理完了后,在返回到主程序的运行空间. ...

  8. java数组编译后_Java中数组和集合的foreach操作编译后究竟是啥

    [本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 今天和同事在关于 ...

  9. java 不定参数方法_java中不定长参数的使用方法

    java中不定长参数的使用方法 不定长参数方法的语法如下:返回值 方法名(参数类型...参数名称) 在参数列表中使用"..."形式定义不定长参数,其实这个不定长参数a就是一个数组, ...

  10. java的flush方法_Java中的BufferedWriter flush()方法及示例

    Java中buffered writer类的flush()方法用于刷新缓冲的writer流中的字符.语法:公共void flush()指定者:此方法由Flushable接口的flush()方法指定.重 ...

最新文章

  1. 【C语言】接收字符,大小写字符相互转换后输出,数字不输出
  2. 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...
  3. P1983-车站分级【图论,记忆化dfs,构图】
  4. 使用T-SQL进行数据库备份并检查该备份文件是否存在且作出相应处理
  5. Mixtile Garage产品简介
  6. 微信小程序之WebSocket
  7. hdu 6351 Beautiful Now
  8. 内存泄漏的原因及解决办法_浅谈 JS 内存泄漏问题
  9. 2021美赛成绩查询证书下载
  10. JPG png GIF BMP常见图像格式的介绍与区别
  11. 【STM32】WS2812B灯珠的PWM+DMA控制(库函数)
  12. HTML5七夕情人节表白网页制作【圣诞节3d相册】HTML+CSS+JavaScript 圣诞节3D相册代码表白制作
  13. 图像处理之调整对比度
  14. CMSIS-RTOS手册
  15. 怎么把cad的图导入ps_CAD图纸快速高效导入PS的方法
  16. 在Python中安装了graphvize还出现报错:ExecutableNotFound: failed to execute ‘dot‘, make sure the Graphviz execut
  17. WindowsXP的图标结构
  18. graphs菜单_Wireshark自带工具IO Graphs分析接收数据平滑度案例
  19. 认识一下,JavaScript今年25岁啦
  20. English trip V2-B 4 My Uncle Sam and Apple Pie 山姆大叔和苹果派 Teacher:Tom

热门文章

  1. CDA数据分析师 - 备考指南
  2. retainall java_瞬间教你学会使用java中list的retainAll方法
  3. echarts 自定义 tooltip
  4. 新编密码学——分组密码
  5. AHP(层次分析法)的全面讲解及python实现
  6. HTML5 界面元素 Canvas 参考手册
  7. 51单片机学习笔记(清翔版)(23)——红外通讯
  8. JPush极光推送的原理
  9. Word转PDF表格边框横线丢失
  10. 使用postman解决浏览器POST测试时登录问题:未登录无法进行POST提交