数组是java引用数据类型之一,数组是一组相同数据类型的数据,存放在数组中的每个数据,都叫作数组的元素。数组有一个特色,一个数组一旦建立元素个数就不能再改变了,如下就详细讲解一下数组:java
建立数组的方式有三种:编程
方式1:数组
int[] number = new int[10];spa
这种方式是建立一个数组只建立了数组,没有给数组中添加数据,数组名称为number,数组的长度为10,也就是说这个数组最多只能存放10个数据,多余10个数据则程序报异常:ArrayIndexOutOfBoundsException,而且这个数组里面只能存放int数据类型的数据。3d
方式2:code
int[] number = {10,9,12,30,15};blog
这种方式建立数组,数组名为number,并直接给数组里面添加了数据,使用这种方式建立数组,不须要给数组指定个数,同时也不能给该数组添加元素。内存
方式3:io
int[] number = new int[]{10,12,14,8,7,6};for循环
这种方式建立数组,也是一建立就直接添加了元素,不须要再指定数组的长度了。
下面就来用代码建立一个数组:
1 public void method_1(){ 2 //使用方式1建立一个长度为5的数组: 3 int[] number = new int[5]; 4 5 //向数组number中添加数据(元素) 6 number[0] = 10; 7 number[1] = 12; 8 number[2] = 13; 9 number[3] = 10; 10 number[4] = 9; 11 }
上面的代码是用方式1建立的数组,并向数组中添加了5个数据(元素),下面对上面的代码进行解释:
int[] number = new int[5];这句代码其实就是建立一个数组,实质上是在堆内存中开辟一块空间,数组是引用型数据类型,所以一旦建立,必定有一个默认值,int类型的数据默认值为0,以下图:
下面的5句代码:
number[0] = 10;
number[1] = 12;
number[2] = 13;
number[3] = 10;
number[4] = 9;
是给数组中给定数据,执行完上面5句代码的以后,数组中的数据就改变了,以下图:
如今这个number里面的数据,就编程了10,12,13,10,9
下面讲解一下数组中的经常使用操做:
一、遍历数组两种方式
方式1,:使用加强for循环,以前在java-循环里面提到过。
1 public void method_2(){ 2 //使用方式2建立一个数组,而且赋值 3 int[] number = {10,12,13,10,5}; 4 5 //使用加强for循环遍历数组中的每个元素: 6 //括号里面的int为数组的数据类型,i指的是元素中的每个数据,number指数组的名称 7 for(int i : number){ 8 System.out.println(i); 9 } 10 }
方式2:使用普通的for循环,用数组的下标操做数组中的每个元素:
1 public void method_3(){ 2 //使用方式2建立数组,而且赋值 3 int[] number = {10,12,13,10,4}; 4 5 //使用for循环,用数组的下标值操做数组中的元素 6 for(int i = 0;i < number.length;i++){ 7 System.out.println(number[i]); 8 } 9 }
这种方式是最经常使用的,对里面的知识点讲解:
number.length:length是数组的长度属性,这句代码是数组名.length,做用是获取数组的长度(元素的个数),这里数组的长度为5.
i:做为变量当作数组的下标值,从0到数组的长度-1,由于代码是i < number.length,是小于,没有等于,所欲是取不到长度那个数值的,只能取到length-1的值。
number[i]:i是做为下标值的,那么这句代码的做用是获取到元素指定的下标值。i是从0到length-1,那也能够得出,数组的最大下标值永远是数组的长度-1
好比上述代码的图示:
二、找出数组中的元素的最大值:
原理:定义一个中间变量,假设其值为最大值,一开始假设数组中的第一个元素的值为最大值。
再用中间变量和数组中的元素进行比较,若是数组中的元素比中间变量的值大,则将中间变量的值修改成该元素的值,这样依次比较,直到整个数组的元素所有被比较结束,那么中间变量的值就是该数组中的最大值。
注:由于一开始假设了最大值为数组的第一个元素,所以第一个元素不须要参与比较,比较从第二个元素开始。
图示以下:
事例代码:
1 public void method_4(){ 2 //使用方式2建立一个数组。 3 int[] number = {10,12,13,10,4}; 4 5 //定义中间变量,假设中间变量为最大值,一开始假设数组中的第一个元素的值为最大值; 6 int temp = number[0]; 7 8 //使用for循环,遍历整个数组,这里表明下标的变量值从1开始。由于第一个元素不须要比较了 9 for(int i = 1;i < number.length;i++){ 10 //将数组中的每个元素和中间变量比较判断,若是该元素的值比中间变量的大,则将中间变量的值修改成该元素 11 if(number[i] > temp){ 12 temp = number[i]; 13 } 14 } 15 }
三、找出数组中的最小值:同上面的原理,自行分析。