Java程序设计基础_第4章数组.ppt
文本预览下载声明
;第四章 数组与字符串;通过本章的学习,主要掌握以下知识点:
数组的基本概念
数组元素的访问
栈内存和堆内存
字符串
本章的重点:
数组的定义与访问
本章的难点:
栈内存和堆内存
多维数组的定义与应用;4.1 数组的基本概念;数组主要有如下几个特点: ● 数组是相同数据类型的元素的集合; ● 数组中的各元素是有先后顺序的,它们在内存中按照这个先后顺序连续存放在一起; ● 数组元素用整个数组的名字和它自己在数组中的顺序位置来表示。例如,a[0]表示名字为a的数组中的第一个元素,a[1]代表数组a的每二个元素,依次类推。;4.2.1 一维数组的定义;
在声明数组时,也可以将两个语句合并成一行,格式如下:
数据类型 数组名[ ] = new 数据类型[个数];
例如:
int x[ ] = new int [10];;4.2.2一维数组元素的访问;【例4.1】声明一个一维数组,其长度为5,利用循环对数组元素进行赋值,然后再利用另一个循环逆序输出数组元素的内容。程序代码如下:;//app4_1.java 一维数组
public class app4_1
{
public static void main(String args[ ])
{
int i;
int a[]; //声明一个数组a
a=new int[5]; //分配内存空间供整型数组a使用,其元素个数为5
for(i=0;i5;i++) //对数组元素进行赋值
a[i]=i;
for(i=a.length-1;i=0;i--) //逆序输出数组的内容
System.out.print(“a[”+i+”]=”+a[i]+”,\t”);
System.out.println(“\n数组a的长度是:”+a.length);
}
};该程序的运行结果如下:
a[4]=4, a[3]=3, a[2]=2, a[1]=1, a[0]=0
数组a的长度是:5;4.2.3 一维数组的初始化及应用;【例4.2】设数组中有n个互不相同的数,不用排序求出其中的最大值和次最大值。
//app4_2.java 比较数组元素值的大小
public class app4_2
{
public static void main(String args[ ])
{
int i,Max,Sec;
int a[]={8,50,20,7,81,55,76,93}; //声明数组a,并赋初值
if (a[0]a[1])
{
Max=a[0]; // Max存放最大值
Sec=a[1]; // Sec存放次最大值
}
else
{
Max=a[1];
Sec=a[0];
} ; System.out.print(“数组的各元素为:”+a[0]+” “+a[1]);
for(i=2;ia.length;i++)
{
System.out.print(” ” + a[i]); //输出数组a中的各元素
if (a[i]Max) //判断最大值
{
Sec=Max; //原最大值降为次最大值
Max=a[i]; //a[i]为新的最大值
}
else //即a[i]不是新的最大值,但若a[i]大于次最大值
if (a[i]Sec) Sec=a[i]; //a[i]为新的次最大值
}
System.out.print(“\n其中的最大值是:”+Max);
System.out.println(“ 次最大值是:”+Sec);
}
};该程序运行结果为:
数组的各元素为:8 50 20 7 81 55 76 93
其中的最大值是:93 次最大值是:81 ;5.3.1 二维数组;数据类型 数组名[ ] [ ] = new 数据类型 [行数][列数];;Java的多维数组不一定是规则的矩阵形式,如图5.5所示。 ;由于x[0]、x[1]和x[2]都是数组引用变量,必须对它们赋值,指向真正的数组对象,才可以引用这些数组中的元素。
x[0]=new int [3];
x[1]=new int[2];
由此可以看出,x[0]和x[1]的长度可以是不一样
显示全部