一起Talk Android吧(第十五回:Java常用类之Arrays)
来源:互联网 发布:淘宝做什么生意好赚钱 编辑:程序博客网 时间:2024/06/05 09:07
各位看官们,大家好,上一回中咱们说的是Java中异常的例子,这一回咱们说的例子是Java常用类之Arrays。闲话休提, 言归正转。让我们一起Talk Android吧!
看官们,我们在前面章回中提到数组类型,因为数组是类类型,我们没有介绍类相关的知识,所以当时一笔带过。不过,现在的情况不同了,我们已经掌握了类相关的内容,因此,我们在本章回中介绍数组以及常用的类Arrays。
1. 数组定义
看官们,我们先看看数组类型变量的定义方法,我们还是通过伪代码来演示:
type array[] = new type[size];
我们再和定义类对象的方法做个对比:
ClassName obj = new ClassName();
大家可以发现,它们是多么的类似呀!其实在Java中数组类型就是一种类类型,该类型中最常用的它的成员变量:length
。通过该成员变量,可以得到数组的大小,也就是伪代码中size的值。另外,在定义数组时还有一种形式,我们通过伪代码来演示:
type[] array = new type[size];
该形式是Java中推荐的形式,因为通过这种形式可以一目了然地看出是数组类型。在对比一下前面的定义形式,我们就会发现,前面的形式是在沿用C语言中数组的定义形式,其实这是Java为了考虑编程人员的习惯而保留的。
2 .数组初始化
我们在定义数组类型的变量后,都会对该变量进行初始化操作。我们还是通过伪代码的形式来演示数组初始化。
type array[] = {val1,val2,...};
这种方式和C语言中数组的初始化方式相同,其优点是自动指定数组的大小,并且会对数组中的成员进行初始化操作。还有一种数组初始化方式:
type array[] = new type[size];
这种方式是典型的面向对象初始化方式,它会依据size的值来初始化数组的大小,并且把数组中每个元素初始化为类型的默认值。比如,type为int类型时,它的默认值为0,那么int类型的数组使用这种方式初始化时,数组中每个元素的初始值为0.
3. 数组类Arrays
看官们,为了方便我们对数组的操作,Java还提供了Arrays类
,该类提供了许多静态方法,接下来我们介绍一些常用的静态方法。
Arrays.fill(type[] arg0, type arg1); //填充数组,使用arg1来填充数组arg0Arrays.sort(type[] arg0); //对数组成员排序,默认为升序。Arrays.binarySearch(type[] arg0, type arg1); //在数组成员中查找某个变量,在数组arg0的成员中查找变量arg1
这些静态方法都是重载方法,可以对不同类型的数组进行操作。比如,我们把上面代码中的type替换为int,那么它就可以对int类型的数组进行相关操作,同理把type替换为double,那么它就可以对double类型的数组进行相关操作。这里的type不但可以是基本的类型,而且可以为类类型。
说了这么多,我们动手来实践一下。下面是程序的代码,请大家参考:
public class ArrayExam{ public static void main(String args[]) { int [] array1 = {1,2,3,9,8,7} ; int array2[] = new int[6]; System.out.println("arrar1 length:"+array1.length); System.out.println("arrar2 length:"+array2.length); System.out.print("array1 members: "); for(int i=0; i<array1.length; ++i) System.out.print(array1[i]+" "); System.out.println(); System.out.print("array2 members: "); for(int i=0; i<array1.length; ++i) System.out.print(array2[i]+" "); System.out.println(); Arrays.fill(array2, 6); Arrays.sort(array1); System.out.print("array1 members: "); for(int i=0; i<array1.length; ++i) System.out.print(array1[i]+" "); System.out.println(); System.out.print("array2 members: "); for(int i=0; i<array1.length; ++i) System.out.print(array2[i]+" "); System.out.println(); if( 1== Arrays.binarySearch(array1,6) ) System.out.println("6 is found in array1"); else System.out.println("6 is not found in array1"); } }
在上面的程序中,我们定义的int类型的数组,然后使用了两种初始化的数组的方法,并且把数组中每个成员的值都打印出来。接下来使用了Arrays类
的静态方法对数组进行填充,排序和查找操作。下面是程序的运行结果,请大家参考:
arrar1 length:6arrar2 length:6array1 members: 1 2 3 9 8 7 array2 members: 0 0 0 0 0 0 array1 members: 1 2 3 7 8 9 array2 members: 6 6 6 6 6 6 6 is not found in array1
各位看官,关于Java常用类之Arrays的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
- 一起Talk Android吧(第十五回:Java常用类之Arrays)
- 一起Talk Android吧(第十六回:Java常用类之String)
- 一起Talk Android吧(第十七回:Java常用类之StringBuffer)
- 一起Talk Android吧(第十九回:Java常用类之Date)
- 一起Talk Android吧(第二十回:Java常用类之Date续)
- 一起Talk Android吧(第二十一回:Java常用类之文件操作一)
- 一起Talk Android吧(第二十二回:Java常用类之文件操作二)
- 一起Talk Android吧(第十八回:Java常用类String VS StringBuffer)
- 一起talk Vim吧(第十五回:Vim插件之ctags)
- 一起Talk Android吧(第五回:Java中的程序结构)
- 一起Talk Android吧(第六回:Java中的函数)
- 一起Talk Android吧(第十四回:Java中的异常)
- 一起Talk Android吧(第二十七回:Java泛型)
- 一起Talk Android吧(第二十六回:Java包装类)
- 一起talk C栗子吧(第十五回:C语言实例--双向链表)
- 一起Talk Android吧(第十一回:Java中的继承)
- 一起Talk Android吧(第三回:Java中的变量类型)
- 一起Talk Android吧(第四回:Java中的运算符)
- 单链表的快速排序实现
- 【bzoj3190】[JLOI2013] 赛车
- ROMAN TO INT
- cmake 出现的错误即解决办法
- Linux系统安全基础知识
- 一起Talk Android吧(第十五回:Java常用类之Arrays)
- Fresco 使用databinding @BindingAdapter显示图片
- Linux中 Access Modify Change三者的解释、区别和联系
- spring boot 用war包部署到tomcat下详细教程(解决缺少web.xml报错的问题)
- 七月在线之机器学习与相关数学初步1
- 04-树7 二叉搜索树的操作集 (30分)
- d3,放射,多层,关系图
- 七大排序算法
- 0004_Median of Two Sorted Arrays