在之前的一天里,我们学会了如何定义一个数组。也学会了如何去输出数组。那么输出的数组都为默认值0.接下来我们将要学习嵌套循环对数组进行输出。

在程序中,可以发现,对于数组的访问采用的是“数组名名称[下标]的方式,之前的代码,一共开辟了三个空间大小的数组,所以下标取值为0~2.按照以上我们得知,数组的算位由0开始起算。

数组的索引超出绑定将会提示出错。

接下来我们通过for语句对数组进行赋值操作

请看下面的代码:

public class te

{

public static void main(String args[]){

int score[] = null ;   //声明数组

score = new int[3];   //为数组开辟空间,大小为3

for (int x=0;x<3 ;x++ )//为每个元素复制

{

score[x] =x * 2+1 ; //每个值都等于奇数  展开:x=0"0*2+1" x=1"1*2+1"=3 x=2"2*2+1=5" 

}

for (int x=0;x<3 ;x++ )

{

System.out.print("score[x]="+score[x]);

}

}

}

解析一下代码:

score 为栈内存,默认的数组值为堆内存,代码依次执行。

score=1     score=3     score=5

那么x=[0]0*2+1 ;x=[1]1*2+1=3 x=[2]2*2+1=5。

所以score赋值嵌套for score[0]=1     score[1]=3     score[2]=5 。

在java中,我们知道用max函数来显示定义类型的最大值,那么在数组中也有取得数组的空间值:

代码如下:

public class te1

{

public static void main(String args[]){

int score[] = null ;   //声明数组

score = new int[3];   //为数组开辟空间,大小为3

System.out.print(+score.length);    //显示score的数组最大值(显示score的最大下标)

}

}

数组的静态初始化:

数组的内容分为,静态初始化,和动态初始化两种。之前的代码为,先声明数组,然后再以for语句对数组每个下标进行赋值。那么在java中,也可以通过数组的声明时,对数组进行赋值。指定具体的内容。

如果想要使用静态初始化赋值,那么我们只需要在声明数组的时候使用大括号对数组进行指定。

格式如下:

数组名[]={初值0,初值1,……}

在静态数组赋值时,我们需要对数组进行输出,那么我们输出的方法就要使用for条件循环语句进行输出。请看下列代码:

public class te2

{

public static void main(String args[]){

int score[] = {90,92,93,94,95,96} ;   //声明数组

for (int x = 0;x<score.length ;x++ )   //先给x初始值0,判断的条件是x是否大于数组最大下标,执行x++

{

System.out.print(+score[x]);          //循环完成输出每个数组的值。

}

}

}

接下来我们学习如何求出数组的最大值和最小值。使用for条件循环语句进行求解。

public class te

{

public static void main(String args[]){

int score[] = {90,92,93,94,95,96} ;   //声明数组

int max = 0 ;                   //max保留数组中的最大值

int min = 0;                   //保留数组中的最小值

max=min=score[0];              //把第一个元素的内容复制给max和min

for (int x = 0;x<score.length ;x++ ){ //定义 x = 0;x小于score的最大下标;x++再次执行循环

if(score[x]>max){                     //条件选择。score[x]>max时执行

max=score[x];                     //score[x]赋值给max

}

if(score[x]<min){                       //条件选择,score[x]小于min

min=score[x];                      //score[x]赋值给min

}

}

System.out.print("最大的数为"+max);

System.out.print("最小的数为"+min);

}

}

我们来解释这段代码的循环:

那么我们可以知道score.length为最大的数组空间数,那么这个数组最大空间数是6,那么就是0-5,从0开始算嘛。然后看下列的表:

循环次数      自增X++    访问数

1                         0++         90

2                         1++         92

3                         2++         93

4                         3++         94

5                         4++         95

6                         5 ++        96      

那么我们要记住的是x小于数组最大的下标。也就是不能超过数组的最大下标。