java-数组

数组是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 }

三、找出数组中的最小值:同上面的原理,自行分析。

相关文章
相关标签/搜索