大数据培训之旅——Java-4(数组,api)

    数组来了,这东西贯穿整个java,基本上是个能拿出手的程序,就需要数组,那么什么是数组呢,就是相同类型数据的集合,可以理解为,一堆int的数字,我们把它们塞到一个数组里,然后他们就跑到一块去了,然后我们使用的时候只需要去里面找,而不是之前左一个右一个的在程序里面翻。下面来看看如何声明一个数组:type[] 变量名=new type[数组中元素的个数]或者type[] 变量名={逗号分隔的初始值},举个例子:int[] a=new int[5];或者int[] a={1,2,3,4,5};,如果我们需要定义五个int类型的变量,来看看那种更为简单吧。

——————————————————————————————————————————————————————

    既然我们创建了数组,那么就需要往里面塞东西,那么该如何塞东西呢,首先说说数组初始化,数组初始化有三种形式:动态初始化(数组定义分配空间和赋值分开写);静态初始化(定义数组的时候直接赋值);默认初始化(数据是引用类型,分配空间后,每个元素会进行隐士初始化)。那int[] a={1,2,3,4,5}这种是哪一种呢?应该是静态初始化吧,再说动态初始化之前,我们需要说一下数组的一个特性,数组里面我们是用元素的下标来取出元素的值,所有数组的下标都是从0开始,下一个是1,然后是2,一直往下直到数组内元素个数的-1,比如有个char类型的数组a={'a','b','c','d'},我们如果要取出里面的b,那么就应该是a[1],可能这么所也不清楚,来看看代码吧。

——————————————————————————————————————————————————————

    但是大家不觉得很麻烦么,如果一个数组里面有100个元素,难道我们要一个一个都打出来?当然不是了,我们想想之前学的循环,能不能把数组循环输出呢?

——————————————————————————————————————————————————————

    哎?那么动态赋值数组是不是也可以用循环做到呢。

——————————————————————————————————————————————————————

    一维数组搞定了,那么来看看多维数组,这里只介绍到二维数组,二维数组大家可以把它想象成x,y轴的坐标系,每个x,y都对应着一个位置,我们先来看看如何定义一个二维数组,和一维数组类似,int a[][]=new int[行数][列数],或者int a[][]={{1,2},{3,4},{5,6}}

——————————————————————————————————————————————————————

    当然我们也可以使用for对二维数组遍历赋值,原理和一维数组类似,这里就不演示了

——————————————————————————————————————————————————————

    这个二维数组大家可不可以用刚才说到的length遍历出来呢。

——————————————————————————————————————————————————————

    大家有没有想过如果我们的数组长度是3,但是我们输出的时候下标写了3以上的数,会出现什么情况呢,程序会报给我们一个异常:数组下标越界

    对数组来说还有三维,四维,甚至更高,这里我们就研究了,毕竟我也不太会,哈哈,直接来看看更数组高级的应用吧。我们除了往数组里面存储数据以外,还经常使用数组排序,于是乎我们要接触我们的第一个算法,那么什么是算法呢,算法给我的感觉就是用计算机语言实现数学中的东西,比如:斐波那契数列,素数,水仙花数,分解质因数,最大公约数,和最小公倍数,这些代码,我都写过,会在java基础的最后一篇的后面贴出来, 我们现在说说数组常用的算法:排序算法,排序算法有很多,我们来说一种从大到小排序的思路,我们使用第一个数字来依次和后面的相比,如果遇到比第一个大的我们就交换位置,之后用第二个数字比较,同样遇到大的交换位置。这么说可能不直观,我们来看看代码。

——————————————————————————————————————————————————————

    这种方法被叫做插入排序,之后我们来看看下一个,冒泡排序,冒泡排序的思想就是相邻的两个数相比较,依据规则交换位置,遍历完数组,排序就完成了。

——————————————————————————————————————————————————————

    还有一种基础的排序方法,插入排序,插入排序是将数组内下一个数,插入到已经完成的顺序中。

——————————————————————————————————————————————————————

    基本的排序已经都了解过了,下面我们来说说递归,递归说白了就是自己调用自己。来看看个例子。我们来求n!

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

    数组就说到这里,下面说说api,其实api也没什么可说的,这东西是我们编程的时候,使用留给我们的函数,java叫做方法,api有超级超级多,具体有多少大家可以看看官方的api文档,当然我们也不是每个api都得学会,毕竟太多了,遇到不会的不是去查文档,就是去百度,然后把找到的反复回来看看,看看是怎么用的,完成了什么功能。我们来说下怎么使用api文档,首先去网上下载api文档这东西有很多,因为没有找到1.7的中文文档,所以我用1.6演示,当然中文翻译过来可能会有差错,大家仔细辨别一下。

——————————————————————————————————————————————————————

    很熟悉吧,这里就是我们使用的所有api,当然不包括大佬们自己写出来的。

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

——————————————————————————————————————————————————————

    这样就查到我们需要的方法了,还是很简单的,常用的也就那几个,不常用的就要去查找了。

    下一篇文章我们来说说集合类

猜你喜欢

转载自blog.csdn.net/g982508295a/article/details/81143837
今日推荐