在之前的一天里,我们学会了如何定义一个数组。也学会了如何去输出数组。那么输出的数组都为默认值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小于数组最大的下标。也就是不能超过数组的最大下标。